Skip to main content

Full text of "TS-2068 Up-date"

See other formats


January 1988 



TS2068 UP DATE 

the user's NEWS 




EXTRA 



MEMORY 



(3 




TS-2068 UP-DATB 
1317 Stratford Ave, Panama City, FL 32404 
<904 871 4513) 



The Extra Memory Section 



Do we Need Extra Memory? 

Good question, especially now that disk drives 
are on the scene for the TS-2068, A Disk Drive is 
actually a "box of extra memory". The problem Is, 
one has to place the data from disk INTO the TS-2068 
memory chips for ft to be used. So, that means that 
we are limited by the FREE memory of the TS-2068 as 
to the LENGTH of the program that it can handle* 
FREE MEMORY Is 38652 bytes. Now If we flM up that 
memory with a program, there is no space left for 
DATA to be stored, so we have to reserve an amount 
of FREE to handle data that wi II be generated by the 
program. Usually the trade off is about 50-50. 
Then a program will take up about 19K and there will 
be an equal amount of space reserved to store and 
manage data, 

19K of memory Is OK for games and trivia but 
lacking to store extensive software programs. Also, 
19K is a bothersome limit upon the amount of data 
that can be stored. There should be a way of 
"stretching" FREE memory so that longer and more 
useful programs can be operated and still have 
enough FREE memory for data. THERE IS! We can use 
the DOCK BANK for programs and the HOME BANK for 
DATA, We can put a 64K program In the Dock Bank, 
and keep almost all of the 38K of FREE memory for 
data storage and management. This capability of the 
TS-2068 has been neglected and f&m realize the 
Increase in power that the use of EXTRA MEMORY BANKS 
offer. Let me put it this way. If you give me 
twice as much memory storage to store PR0GRAMMINK3, I 
can give you TEN times as much software power, 

A software program is built with "kernel 
routines", packages of programming Hiat are used 
over and over by different elements of the program. 
As program length increases there Is less need to 
create new kernel routines, and the programming 
becomes quite cryptic, using mostly "GO TO and GO 
SUB" within the program lines. Also, it is not 
necessary to create new variables. Then one more 
"K" of programming can produce functions that would 
require as much a 5 or 6K of programming to produce 
without the kernel cells. So then, picture the 
Increased capability that results from using 64K of 
memory for a program In the dock bank, as versas the 
ordinary limit of 19K! Then, the FREE memory of 
38652 bytes Is available for DATA management and 
storage. 



THE LONESOME DOCK: In the beginning TImex 
started producing Dock Cartridges with programs. 
These were mostly games I ike "F I ight Simulator", 
good games but soon tiring. Since then few 
Industries have produced software in cartridges. As 
a result, the Dock Door is hardly ever lifted, and 
the capability has languished. One reason for that 
Is the cost of producing both the cartridge and the 
software In EPROM, A reasonable price for a good 
Dock Cartridge software would be around $60^00^ +00 
expensive for our tastes, and the reason for our 
Ignoring the Extra Memory functions. One other 
reason Is the tricklness of programming required for 
using extra memory. But, IS It all that tricky? 
And, CAN WE LEARN HOW? 

Ordinarily/ publications must reserve their 
page space to cover many subjects, and the detail ed 
continuous coverage of one subject cannot be 
attempted, UP-DATE will undertake to bring you 
detailed and continuous coverage of EXTRA MEMORY In 
this section. We start In this Issue with The 
Concepts Of EXTRA MEMORY PROGRAMMING, We w 1 1 1 
progress through the detal Is of programming In extra 
memory banks, Non Vol atl I e Ram> the use of EPROM 
Cartridges, Programming EPROMS, the use of RAM DISK, 
and the use of Disk Drive to support extra memory 
programs. This Issue also brings an article In the 
Technical Section about converting a TS-1000 64K RAM 
to a DOCK Memory board, Programml ng wl 1 1 be gi ven 
In both BASIC and In Machine Code, starti ng in easy 
to understand basics. 

There are people who are Intense! y Interested 
in this subject and have done some fantastic thingsv 
Mr, Craig Davis Is engaged in transferring the Smart 
Text software to run In Dock Bank EPROM, 
coordinating disk drive for both screens and memory 
storage. Hopefully he will tell us about It In a 
future article, I will be discussing the use of RAM 
In Extra memory, Mr, Larry Kenny (Larken 
Electronics) can tel I us things about RAM DISK. 
And, Mr, Eric Johnson has promised •* a construction 
article on Extra Memory RAM, If you have done any 
work In this area, UP-DATE wi 1 1 publ ish your 
articles. New user I nterest wll I bring new product 
development. Lets take extra memory "to the limit"! 



January 1988 



Jan. 1988 Eailorial 

HI, you TS-2068 Die Hards! Die? Heck, I'll be 
using my '68 till they back up the hearse to my 
widow's door. This January 1988 Issue of UP-DATE 
brings In some new writers, new to UP-DATE, but not 
new to the TS-2068 user groups, I'll give you a 
short Introduction to each of these outstanding 
writers at the end of their columns. They are 
successful business peopi e whose time Is val uabi e, 
but still they find time to contribute their 
knowledge FREE, We can show appreciation by a card 
of thanks. Also, this Issue begins new building 
block sections about Extra Memory, Larken Disk, 
Aerco Disk, and Telecomputing, These sections will 
build as more Issues are published, Hope you like 
the direction that UP-DATE is 'a goln. 

UP-DATE will let our writers "hang It all out", 
praising the systems that they like. Enthusiasm 
unbounded! All of our disk systems are good, each 
having Its own better features. We tie these 
systems together with review articles In this Issue 
that should form a departure point for continuing 
coverage. For those who dont yet have a disk 
system, this should be a mouth watering bit of 
reading. Even those who have disk systems should 
find some new Information In the reviews. Want TWO 
DOS systems with your present equipment? That too! 

UP-DATE DISK SUPPORT: The capabi I Ity now 
exists to provide disk support to users who have the 
Amdek Amdisk 3" disk drive. However, due to the 
cost of the 3" diskette, all who order the Issue 
Disk on 3" disk should send a disk to have the 
programs recorded thereon. Issue diskettes are also 
available In all formats of 5 1/4", for Ollger Safe, 
Larken Disk, and Aerco FD 68, If ordering for 5 
1/4" drive please specify for SS or DD, and 40 or 80 
track. The October Issue Diskette Is a success, 
with about 1/3 of the subscribers ordering. That 
Mall Merge program really does Its thing, for almost 
every type of Listing needs, from Mai I Lists, to 
inventries, to invoices, to the daily unit milk 
producing records for a dairy herd, ^Bi'^rh-pro^ws^ 

It being COLD up Noarth, this issue will try 
to warm you up by filling space with some Sunny 
Florida file photos. They are di rect from the 
Chamber of Commerce. For those who dont know, 
Panama City Is up In the "Pan Handle" of Florida, on 
the North Coast of the Gulf of Mexico. There are 
rolling hills, large navlgatable rivers, limestone 
springs that gush sparkling water, dense hardwood 
forrests, and beautiful clear lakes. We have four 
mild seasons of the year. Our tourist seasons are 
the Summer for the Yanks and the Winter for our 
"Snow bird" Canadian friends. But our best seasons 
are the Spring and Fall, together about five months 



of delightful temperatures ranging from 65 to 85 
degrees. It Is over 600 miles from my house to 
Miami and another hundred down to the Keys, 

WIMTER FEST IN ORLANDO, FLORIDA: Now Iff 'n you 
want to warm up the bod and attend a TIMEX COMPUTER 
FEST at the same time, then comoan down to the 
Winter Timex Fest In Orlando in early MARCH 88. 
Thats the time when you think that Winter should be 
about over, but It 'aint. The details are: Place: 
Marlott Hotel, Orlando Florida, Time: March 4 
through March 8, 1988, Reservations are necessary 
ONLY if you want to stay at the Marlott Hotel, 
Otherwise It Is no sweat for motel space elsewhere 
around town. You are encouraged to pre-register for 
the FEST Itself, but you dont have to to attend. 
Registration at the door Is $8,00 Single or $12,00 
Family, Pre-reglstratlon by mall Is $5,00 Single or 
$9,00 Family, Mail to: Winter TImex Fest, 249 N. 
Harden Ave,, Orange City, FL 32763, Contact Is Eric 
Johnson at that address. The Marlott Hotel Is at 
the South edge of Orlando, very convenient to Disney 
World, Sea World, Circus World, Cyprus Gardens, and 
other World Family attractions. It Is about 45 
miles to the East Coast beaches and the Space 
Center, What a great opportunity for a combined 
Winter Fest and Family vacation! Your hosts are the 
combined TSUGs of Florida, 

FILING UP-DATE PAGES: The pages are numbered 
by the color section that they belong to. Please 
remove the staples and file the pages In your 
UP-DATE booklet. New page separators are the front 
and back covers of this Issue titled: "EXTRA MEMORY" 
and "Telecomputing", UP-DATE needs more 

contributing writers to cover these special 
subjects: Ollger Safe System, Larken Disk System, 
Aerco FD-68 Disk, TOS (Zebra) Disk, CP/M and RP/M, 
Telecomputing, and general articles on programming. 
The sharing of your knowledge will be appreciated by 
all, 

NEW SOFTWARE: This Issue brings some new and 
Interesting software In the yellow pages. Herb 
Bowers, an eminent authority on INCOME TAX, Is just 
In time for our dreaded TAX REPORTS. Herb promises 
to save you money with his software, and GET THIS! 
He climbs way out on a I Imb and sez that if you use 
his tax program and are penalized by IRS, HE PAYS 
THE PENALTY! Now that Is what I call CONFIDENCE, 
Also, Herb brings us "Vanna Brlte" (Hmmm), 

Then JOHN McMlCHAEL offers a Interesting 
combination of hardware and sofware to use the 
Inexpensive Commodore Plotter to draw airplanes In 
flight, pretty girls, and fantastic graphics. One 
needs to buy a $49,95 Commodore plotter to do alia 
that, I'm gonna do it because the plotter Is a nice 
peice of equipment and the new capability will be 
both fun and useful. 



1 



January 1988 



Next, a new edition of Smart Text for Otiger 
V2-35 EPROM is off erred. This one has FULL EDIT 
during input typing, a expanded Mail Merge annex. 
Automatic Column printing, and a special printer 
set-up for Daisy Wheel printers. These columns are 
samples of the Auto Column Printing function. No 
Cut and Patch, the columns print automatically, 

UP-DATE HEADQUARTERS has added quite a group of 
things. Added for your support are, the Amdisk 3" 
drives, Larl<en SKDOS Cartridge, Avantex 300-1200 
baud modem, Specterm Sl/0 interface, Specterm 64 
Software, another TS-2068 with a 4 Drive system, and 
Aerco FD-68 Disk system with 256K Memory. Already 
on hand was the Ollger Safe System. You should 
notice an improved print In this Issue resulting 
from the addition of a Daisy Wheel printer, I hope 
to find some BBS boards somewhere to down load some 
CP/M software for the Aerco FD-68 users. Anybody 
got a good source? CP/M is a subject that needs 
exploring in depth. Up-Date needs a writer who Is 
willing to take us by the hand. 

THE UP-DATE BBS: As the learning curve 
flattens out, a UP-DATE BBS will be set up using the 
Aerco 256K RAM as RAM DISK, with the Larken SKDOS 
Cartride, augumented by about 3 Mbts of disk 
storage. What I'm planning is a informal BBS that 
is exclusively for the subscribers and has about 
three sub boards. One will be for program 
downloads, another for friendly message interchange, 
and one for shopper service. Suggestions and 
helpful guidance will be appreciated, 

A Cheap and Excellent Twin Disk Drive 
For $49.95 

Yep, a Twin Disk Drive, In a cabinet, with 
built In power supply, ready to plug In and use, FOR 
$49.95 plus shipping!! That Is the Amdek Amdisk 
III, a neat little 3 inch drive. There are a couple 
of catches to the deal. The diskettes are not 
"Floppies" but "Hardies", The diskettes are more 
like a thin cassette, a sandwich wafer of hard 
plastic that protects the enclosed disk. The disk 
Itself has a center sprocket that the drive 
mechanism engages to spin the disk. It appears to 
be designed to enhance long life of the diskette. 
The catch Is, the price of the diskettes ($4.95 
each). That would be bad if one had to replace them 
often, but I believe the diskette should last for at 
least a year or more. Now ordinarily, a twin Disk 
Drive unit, will cost about $240.00, the price 
broken down to $160,00 for two drives, plus $80,00 
for the drive enclosure and power supply. So, you 
can get the Amdisk III for $49,95, plus 10 diskettes 
($49.95), and still be ahead about $140.00. One 
more catch is the fact that the disk drive reads and 
writes to one side of the disk at a time. This may 
not be a biggie as each side formats to 195K of disk 



space for program and data storage. When one side 
is f i lied with data you just flip the disk cartridge 
over for the next 195K of storage. The total disk 
capacity (both drives) is 780K, A nice aff ordabi e 
disk drive system. 

Later I hooked up the Amdisk drives in series 
with t-*o 5 1/4" drives to operate as "drives 2 and 
3" of a four drive system. This allows easy copying 
of programs and data between standard 5 1/4" disk 
and the 3" drives or direct LOAD and SAVE to either. 

The Disk Drive comes with a data cable that 
wont fit your disk controller. That Is only a minor 
problem, as the edge card connectors of the drives 
Inside are Identical to the edge card connector of 
your controller card, I had a data cable fabricated 
at a local computer repair shop (cost $21.00), Then 
it took only a few minutes to remove the case top 
and replace the existing cable with the new one that 
fits the TS-2068 Disk Dri ve Control I er. Problem 
solved, but you can add $21,00 to the system cost, 
making It $120,80 for the Amdisk twin drive plus the 
10 diskette cartridges. The drives operated 
perfectly upon first hook-up. Also, it has a 
cooling fan to keep down heat problems. Many of the 
more expensive drive enclosures lack good heat 
dissipation. This is a fine disk drive system, but 
dont expect to be able to buy software on these 
expensive 3 inch diskette cartridges, I am glad 
that I purchased mine because they make excellent 
additional disk capacity to my other drives, and I 
believe that the diskette cartridges will last 
forever. Source: Peripherals Direct Ltd., PO BOX 
4301, North brock, IL 60062, Tel: 1 800 332 9988. 
They take plastic money but charge a service charge 
for it. 

I am fascinated by a ad in Osmputer Shopper for 
a Zerox 16/8 bit CPU Computer with 10 mbt hard drive 
that sold about two years ago for over $4000.00 and 
is now offered at $349.00. That might make a better 
BBS system If I can find a BBS software for it. 
Subscriptions to UP-DATE are now at about 150 and 
still building, I have received a lot of 

compliments and no gripes, which makes me want to 
try harder. Wishing everyone a successful 1988 
year, Ed, 




January 1988 



Extra Memory Progranwlng 



Most of us can visualize the con^uter's 
"regular" memory. We know that the ROM part of 
memory has "fixed" machine programming put there by 
TImex when they built the computer, and that there 
Is a section called RAM that we store our own 
programs In. To carry this visualization further, 
we will do some diagrams that splits up the memory 
Into CHUNK SECTIONS. The chunks wl 1 1 be Identified 
by the ADDRESS that the computer's CPU uses to send 
and receive data to and from the chunks of memory. 
Please refer to Figure 1 for the visualization. 

Figure 1 

-0 

Now that Is a busy diagram Isn't It. The left 
block Is what we normally visualize, having two 
sections of memory, "ROM and RAM", The center block 
depicts another 64K "BANK of MEMORY" called "The 
XROM BANK", TImex put only 8K of memory there to 
handle such things a Cassette Load and Save, When 
we type a LOAD or SAVE command, the computer 
switches OUT Chunk 0 from home bank and switches IN 
Chunk 0 of the XROM Bank, to do the LOAD or SAVE. 
Notice that the other "Chunks" of the XROM Bank are 
vacant, having no Memory Chips Installed, TImex 
didn't even put sockets under the hood for more 
memory chips. Also, notice that the block on the 
right Is named, "The Dock Bank", and all three BANKS 
have the same CKLh^S Identified in the same manner, 

A CHUNK Is 8K (8192 bytes). As we get Into 
Extra Memory we wl II transfer CHUNKS of Memory Chips 
IN and OUT of the range of addresses that the CPU 
controls. ; As we visualize the computer, the CPU 
"Sees" the memory chips that are In the left block, 
"the HOME BANK", Now suppose that we add some 
memory chips and fix them so that they are In "CHIMK 
7" of the DOCK BANK (the right block of figure 1). 
Would the CPU "see" that group of memory chips? NO, 



7 
















7 
















c 


5 










s 








u. 




f 


3 ^ 






2 




3 


z_ 






t 




Z 


/ 






1 




} 


0 








0 



because the CPU can see (address) only 64K at one 
time, and the TS-2068 Is fixed so that the HOME bank 
Is what the CPU normally sees. Here Is where 
PROGRAMMING comes Into the act. We can do some 
PCXES, and wipe out CHUNK 7 of the HOME BAhK and 
make the CPU see CHlM 7 of the DOCK BANK Instead. 

When we do that. Chunk 7 of the HOME bank will 
still be available for storage of data. Now that Is 
confusing, so we will transfer attention now to 
figure 2 to see how that can be possible. In figure 
2 we delve Into the way a program I Ine works from a 
Extra Memory bank. The senarlo Is: We have a BASIC 
program In Chunk 7 of the DOCK Bank, and that 
program Is running. The TS-2068 always runs 
programs lines In the HOME BAhK, no matter what bank 
the program lines are stored In, The Ingenuoie way 
that this happens Is klnda confusing and we will 
delve Into that later. The key point here Is: 
Since each program line runs In the HOME BAI^, the 
CPU "sees all 64K of the home bank", and Stores DATA 
that Is being generated In HOME BANK RAM. 

PMC 




StfH referrfng to Figure 2,;. the lines of 
programming th;at qre itn the Dock Bank are picked up 
ONE LINE AT THE TIME, placed In the "AROS BUFFER" of 

the HOME BANK and operated. Say that the Hne has 
programming that sez <LET A$="l go to Church on 
Sunday ">, Then the contents of A$ Is stored In the 
HOME BANK RAM, Then when the last part of the line 
of programming Is finished. It Is replaced with the 
NEXT line of programming that is In the DOCK BANK, 
and that line Is executed. The Dock Bank program 
continues to run, one line at a time, until the last 
line of the program has finished. So, In effect, 
the CPU can manipulate TWO 64K banks of memory at 
the same time. 



1 



January 1988 



Now to complete the "visualization", lets 
transfer our attention to figure 3, where we have 
added a disk drive, a printer, a monitor, a modem, 
and a cassette. We are still operating the program 
that Is In the DOCK BANK, one line at a time. The 
LINE of programming that is operating is In the AROS 
BUFFER of the HOME BANK. That line of programming 
can contain LPRINT CONWANDS, or PRIWT commands, or 
DISK LOAD/SAVE commands, or Cassette commands, or 
just anything that the TS-2068 can do. If data 
variables are created, as when receiving data from a 
modem, the data Is stored In the HOME BANK RAM. OR, 
data that Is In the home bank Ram may be printed by a 
LPRI^f^ command In the program line. 



Figure 3 





Now that we have the concepts of Extra Memory 
Operation In focus, we wl II go on to the "how to do 
It" phase. One could survive by Just plugging In a 
cartridge and typing RUN, but since Dock Cartridge 
Software Is about as scarce as hen's teeth, we dont 
have that easy option. Besides, we want to learn how 
to do It anyway. Now we will look at figure 4 and 
see a fly in the soup. The soup Is HOME BANK Memory, 
and the pesky fly Is "PROG". PROG is the memory 
address where the CPU finds the address of the first 
byte of a BASIC program. Normally PROG Is at address 
26710, and the first 1 1 ne of a basi c program wl 1 1 
start at 26710, which Is right slap In the middle of 
CHUNK 3 of the home bank. 

J Figure 4 ?^^ ><' 




CkUi\K ^ 

As we get into the methods of BANK SWITCHING, we 
must tell the CPU "where to find PROG". We wi II do 
that later. Right now we must learn how to switch 
banks. We will use the term "Enable" to mean the 
chunks of memory that the CPU sees for program lines. 
For example If we enable Chunks 4 through 7 of the 



DOCK bank, then the CPU will not see chunks 4-7 of 
the HOME bank, and WILL see chunks 4-7 of the DOCK 
bank. Bank switching Is accomplished by using the 
OUT command. "OUT port 244" is used to designate the 
chunks of memory to enable. It Is easier to 
visualize if we use BINARY numbers with the OUT 
conmand. OUT 244, BIN 00000000 would enable all 8 
chunks of the HOME BANK, while OUT 244,BIN 11111111 
would enable all 8 chunks of the DOCK bank. Please 
refer to figure 5 for a visualization of the effect 
that each "bit" of the binary number has upon the 
chunks of memory enabled. 



"4 PRmTEH. i <yifmx^ 




The easiest and most simple way of using extra 
memory banks Is to enable chunks 4 through 7 at one 
time. OUT 244,BIN 11110000 will enabi e chunks 4 
through 7 of the Dock bank. Then I f you want to stop 
using program lines In the dock bank, OUT 244,B IN 
00000000 would enable all 8 chunks of the HOME bank. 
Remember, each of the bits affect a single chunk 
enable. Zero enables a Home bank chunk, and "1" 
enables a dock bank chunk. The "OUT 244,BIN number" 
can be done In the direct mode or from within a line 
of programming to switch bank chunks. 

Now suppose that we want to use a program that 
is In the Dock Bank chunks 4 through 7. OUT 244,BIN 
11110000 would do It. BUT, the CPU looks for the 
first line of a program at the address of PROG, and 
PROG Is sitting at address 26710 In chunk 3 of the 
home bank, (re-vlsit flgurei^). Now we must change 
PROG to the address of the first line of our program 
that is in the DOCK bank. The first address of CHUNK 
4 of the Dock bank Is 32768. But we cannot start 
there, as the first 8 bytes of a dock program is 
reserved for "control codes". See the tab I e of 
control codes In figure 6. Please study the table a 
bit and come on back. 

Figure 6 

Value Significance 
1=Baslc and MC. 2=MC only 
1=LR0S or 2=AR0S 
A two Byte Address 
Second Byte 
BIN 0=HOME. l=Dock 
0=No and 1=Yes 
2 Byt Nbr for 1 ngth of 
MC pgm starting at 26688. 



Adr. 


Meaning 


23768 


Language type 


23769 


Cartridge Type 


23770 


Program Start 


23771 




23772 


Chunk Sel ect 


23773 


Auto Start? 


23774 


No. of Bytes 


23775 


reserved 



3 



EPROH OR RAW 

O.K. You can now see that we want to move PROG 
to address 32775 which will be the first byte of the 
program lines In the docl< bank. We can do that, but 
now we are getting to a point where procedures vary 
between using RAM or EPROM in the Extra Memory Bank, 

The discussions so far have been applicable to 
both EPROM and RAM in the dock bank. We will now 
concentrate upon handling RAM Memory, and leave EPROM 
for another article. One canot just type and EhJTER 
program lines into the Dock Bank as we are accustomed 
to doing. It is necessary to first put the program 
lines in HOME BANK Memory, and then move the program 
lines into the Dock Bank Memory for operation. The 
objectives and steps of operation are: 1. Move PROG 
to Adr 32776, 2, LOAD a Basic program from either 
Cassette of Disk, 3, Move the Basic program that Is 
In Home Bank Memory Into Dock Bank Memory. 4. Make 
the necessary POKES to the first 8 bytes of Dock Bank 
Memory, 5. RUN the Basic Program that is In the Dock 
Bank. Most of these functional steps may be 

accomplished by adding some short utilities to the 
Basic Program after It Is first loaded from Cassette 
or Disk, 

THE UTILITIES 
Sources and Credits 
The TS-2068 Technical Manual, 
Mr. Thomas B. Woods* Non Volatile Ram Manual 

PLANNING: We will create a group of utilities 
to ADD to ANY BASIC program. After the uti llties are 
added, the program can be SAVED with a starting line 
number of 9800, When the program Is RE-LOADED, a 
menu will appear. The menu choices will allow us to 
elect whether to MOVE the program Into DOCK RAM, or 
to operate the program In the HOME BANK, If DOCK 
OPERATION Is elected, the added uti I Ities wl 1 1 be 
exercised, but if HOME Bank Is elected, the utilities 
will be Ignored. We may add this programming to all 
of our BASIC Softwares and utilities to have the 
choice of HOME or DOCK Bank operation. It Is assumed 
that there is a set of RAM memory chips installed and 
set up to operate in the Dock Bank, To begin, we 
LOAD a Basic program from Cassette or disk and add 
the following program lines. 

THE MENU: 9800 INK 7: BORDER 0: PAPER 0: CLS: 
PRINT AT 10,4;"Y0UR CHOICES ARE:»'»TAB 4;"1, Operate 
in HOME BANK" "TAB 4; "2, Operate In DOCK BANK": INPUT 
A: IF A<1 OR A>2 THEN GO TO 9800 

9802 IF A=1 THEN RUN: REM** You may replace RUN 
with a GO TO the program starting line, 

9804 CLEAR 

9999 RESTORE 9999: FOR X=23296 TO 23340: READ Y: 
POKE X,Y: NEXT X: RANDOMIZE USR 23296: DATA 175, 
6,2,33,83,92,94,35,86,213,33,89,92,16,247,225, 
209,237,82,68,77,235,175,211,244,126,245,62,240, 
21 1 ,244,241 , 119,11 ,35,229,33,0,0,237,66,225,32, 
234,201 



January 1988 

When DOCK is elected, the above routine MOVES 
the BASIC Program into the DOCK RAM. Next, the AROS 
Overhead bytes will be poked, 

9999 RESTORE 9999: FOR X=32768: READ Y: POKE 
X,Y: NEXT X: OUT 244, BIN 00000000: DATA 
1,2,8,128,15,0,0,0 

Now SAVE your Basic Program, with the above 
additions to Cassette or disk. You may add the same 
lines to your other Basic programs that you may want 
to use In the dock bank, IMPORTANT: The basic 
program, when re-loaded WILL NOT operate in Dock Bank 
without the following being accomplished FIRST, 

MOVE PROG F IRST 

MOVE PROG: Before each LOAD of a Program to 
operate In the dock bank, PROG must be moved to the 
starting address of the Dock Program lines, which is 
32776. Otherwise, the CPU will look for the normal 
starting address of 26710, which address will be i n 
the HOME Bank chunk 3. Therefore, the operating 
procedure must be to FIRST, MOVE PROG, THEN LOAD the 
Basic Program that has the utilities Installed. Then 
the program Is moved Into dock bank with a proper 
starting address. The fol lowing program to MOVE PROG 
must be the first step. 



9999 RESTORE 9999: For X=23296 TO 23304: READ Y: 
POKE X,Y: NEXT X: RANDOMIZE USR 23296: DATA 33,85, 
104,1,178,23,195,187,18 



The above utility should be entered just after 
the computer has been turned ON, ENTER and RUN the 
program, then Delete the line. DONT type NEW, as 
that would RESET PROG to 26710. Imediately after 
running the above utility, and Deleting the line, go 
ahead and LOAD your Basic program that has the new 
menu and MOVE programming. Elect option 2 in order 
to move the basic program Into the dock bank. When 
the utility has moved the program into dock, you 
should have a blank screen. 

The Situation 

If you have been following through so far, you 
now have your Basic program in the Dock Bank, It may 
or it may not operate, depending upon several 
factors. First, there are no variables anywhere. 
Variables are not stored in the dock bank, and we 
didn't store any In Home bank. Also, we didn't 
delete the program from home bank, so It will still 
be there. And, because at line 9999 we did an <OUT 
244, BIN 00000000> we are now operating In the Home 
bank. And, because at 9999, we POKED 32773,0, the 
program that Is In Dock does not Auto Run, So, right 
now, the CPU "sees home bank" and the program that is 



4 



still there. So, to continue, we should type <DELETE 
1, Ef^ER> to get rid of the home bank program. 

Next, to get into operation In the dock bank, we 
need to <OUT 244, BIN IlllOOOO and <PCKE 23750, 128>. 
Then <G0 TO the start line of your program>. Try it 
if you have moved a program. If it doesn't operate 
right, then join the 100$ club, a group of extra 
memory users who ALL had their first Moved program to 
be not ful ly functional. Then we will proceed with 
some more learning. But maybe It worked fine and you' 
dont need to read further? If so, please write an 
article for UP-DATE! 

Continuing for the new member of the 100? club: 
Dont give up! Be persistant! Cuss maybe, but dbnt 
quit! The rewards will come! That program wasn 't 
important anyway. And it is likely to be hiding in 
the dock bank right now. You cannot see it, because 
you cannot LIST a Dock program, Thats the reason why 
we must always carefully edit and fix a program 
before putting it in a extra memory bank. Some 
needed to know facts are: You can LOAD a variable 
file In two ways. 1. A program line In the dock bank 
can be: <LOAD/"name"VAL> or other disk syntax to load 
a vars file. 2. You can POKE 23750,0 to get into the 
home bank. Then vars files may be created with 
program lines, or LOADED from disk. 

A third way of creating vars is to do It In 
program tines in the dock bank, like LET A$= "I 
really dig this". Then the vars so created will be 
stored In the home bank. You see, when a program 
line Is executing. It Is IN THE HOME BANK, the CPU 
"SEES HOME BANK", and variables created are stored In 
home bank RAM. Next we wl II look at some more key 
memory addresses that have names. ARSBUF is adresses 
23748 and 23749, and is the pointer to the ARCS 
BUFFER. ARSFLG is Address 23750, and is the pointer 
to the current start of a AROS Data Line, Also 23750 
acts as a switch to switch operations between the 
HOME BANK and the Dock bank. POKE 23750,0 enables 
the HOME bank, and POKE 23750,128 enables the Dock 
Bank, 

Other Key addresses are: ADATLN Is Address 23751 
and 23752 and Is a pointer to the current Start line 
of a AROS Data Line. ADATLENG is address 23753 and 
23754 which stores the length of the current AROS 
DATA LINE. Of that group you will get the most use 
of Address 23750, the switch for changing banks. 
After PCKE 23750,0 you can enter program lines In the 
home bank, or LOAD another program from Disk or 
Cassette. While experimenting with changing between 
Home and Dock, try combinations of <POKE 23750,0: OUT 
244,BIN OOOOOOOO and <POKE 23750,128: OUT 244, BIN 
11110000>, Keeping notes of results will be helpful. 

PROGRAMMING LIMITATIONS: There are some 
restrictions on commands that can be used in EXTRA 
memory program lines. ON ERR GO TO cannot be used. 
But to skirt around this a ON EWR li ne can be put in 
the home bank, and "switched to" for use of that 

8861 XjenuBp 



powerful routine. Example: your program line is <100 
ON ERR GO TO 500> and <500 ON ERR RESET: do 
something: GO TO 102>, Now if those lines were in a 
program to go into DOCK Bank, they could be 
re-arranged as: <100 POKE 23570,0: OUT 244, BIN 
00000000: GO TO 10>. Now that would enable the home 
bank where a I Ine of programming could be: <10 ON ERR 
GO TO 20> and <20 ON ERR RESET: do the same thing: 
POKE 23570,120: OUT 244, BIN 11110000: GOTO 102>. 
Study that out for another way to skin the cat. 

The Oliger SAFE "Fast FOR Counter" is not 
acceptable programming in Dock Bank, But, you can do 
a simlllar switch to Home Bank, use the Fast FOR 
counter, and when finished, switch back to Dock Bank 
and continue. Disk Drive LOADS and SAVES of 
Character arrays, Vars filc^, and Screens work fine in 
Dock program lines, but Not BASIC Programs that use 
starting line numbers or machine code tables. When 
you are using Extra memory, PROG Is set UP to Chunk 
4, leaving about 6K of address spaces vacant In chunk 
3 of Home bank. Since this space is un-used, it 
could be used for Machine Language programs to be 
executed by RANDOMIZE. Also, that 6K is subtracted 
from FREE for Home Bank programs. 

Finally, an awful lot of territory has been 
covered In this article to get from ground zero to 
"somewhere". We have just scratched the surface of 
Extra Memory. Many facts have been left 

out,espi cal I y such things as how to use Machine Code 
utilities and programs. And, we have covered only 
the Dock Bank of extra memory. UP-Date will continue 
to provide as much useful Information as can be dug 
up about Extra Memory prograrmiing and devices. Both 
UP-DATE and the subscr i bers wi 1 1 appreciate writer 
contributions to help In the understanding of this 
broad and relatively unexplored subject, 8^"'^ 




January 1988 



Dock Bank Memory for Twenty Cents 
Convert a TS-1000 Ram Memory For the TS-2068 

Many TS-2068 users graduated from the TS-1000 and sti II have a 64K Ram for that classic that is 
collecting dust somewhere, I ask Mr, John Oliger to give us information about converting his 64K 
Ram for the TS-1000 to use as CXDCK BANK MEMORY. He complied and these instructions are simple and 
easy. Other TS-1000 memory boards may be converted in similiar manner. Why dont one of you who 
have done it to a Memotech Memory send in the schematic changes? Given here is the Oliger Schematic 
with insets showing the modification details. When the changes are made, the 64K memory is split 
into two 32K banks addressed 32768 through 65535, chunks ^ through 7 of the TS-2068 memory map. The 
"Bank A/B" switch selects the Bank that will be active. The data that is placed in either bank will 
be kept refreshed by the computer when the computer is ON, 

The "48-64K" switch is used to TURN ON or OFF the UPPER 16K of memory of the bank selected by 
the A/B switch. If the 48-64K switch is ON, then the entire 32K of the bank selected is active in 
the dock bank. If the 48-64K switch is OFF, then only the LOWER 16K of the bank selected (chunks 3 
and 4) Is active In the dock bank. But the upper 16K region is still kept refreshed by the 
computer. This allows one to elect programming in the dock bank in six combinations of 16 and 32K 
groups. 

John Oliger warns that no one should consider building this memory board from scratch because 
of the high cost of the 4164 "pin 1 refresh" chips. But if one is already on hand, the cost is 
about 20 cents to add 64K of Dock Memory to your TS-2068 (two IK resistors). I could afford twenty 
cents, so ! dude it and it works! When finished, I just stuck the memory board in the empty slot of 
the Oliger Expansion Port and started programming in the dock bank. Maybe you know someone who has 
one of these outstanding 64K boards and can trade them out of It? Now, programming dont just jump 
into that new Dock Bank Memory, Thats a little tricky and one must learn how. See the articles in 
the UP-Date section titled "Extra Memory". A check list of the modifications is given below. 

Check List of changes. Refer to scehematic on next page, 

1. Cut the trace to pin 11 of U-4 (LS-86), OR Remove U-4 and Bend Pin 11 Outward. 

2. Remove 12-16K Switch. 

3. Remove 8-12K Switch. 

4. Remove R-2 27K resistor and replace it with a IK resistor, 

5. Remove Diodes D-3 and D-4, OR remove U-5 (LS-138) and bend pins 12 and 13 outward. 

6. Remove Diodes D-9 and D10 and Resistor R-4. 

7. Remove Diode D-11. 

8. Cut trace to pin 3 of U-4, OR Remove U-4 and bend pin 3 outward. 

9. Remove U-5 (Ls-138) and bend pin 15 outward. Re-install, 

10. Cut the trace from Bank A/B switch that connects to U-4 pin 10. Cksnnect that side 
of the A/B switch to Ground. This leaves pin 10 of U-4 connected to +5 Volts. 

11. Cut the trace from ground to pin 5 of U-5. Jumper the Pin 5 trace to ROSCS, 

12. Connect a new IK resistor between the side of the A/B Switch that is connected 
to U-2 (LS-00) pin 10, to +5 Volts. 



Programming 



January 1988 



HAWDY REF-EREMCES AND A SAFE-DOS FTILE IMDEXER 



Bob Hariung, 2416 N. Co. Line, Kuntertwn, IN 46748 

When Bill Jones asked ise to contribute soie articles for 
SDU ny first impulse was to reply that I would rather just 
sit on the sidelines and pick the brains of his other 
writers for awhile. Because the things 1 have written 
since the days of SYNC and SYNTAX have been simply the 
sharing of ny learning experiences with T/S conputers, I 
felt that nost SDU readers probably would have advanced 
far beyond anything I night be able to offer. Like many 
T/S users, my first hands-on experience with a computer of 
any kind started with an unexpanded 2X80, to which I later 
added the 8K RON and the notorious RAN-pack, moving up to 
the 2068 as it became available, and most recently a QL 
when they dropped in price below $100. 

(As an aside, although I an very impressed by the QL 
SuperBasic as a quite powerful programming language, 
especially when it is extended by Super Toolkit 11, 1 
much prefer the 2068 Basic. When a T/S is extended by 
Beta Basic 3.0 which adds over 100 new or enhanced 
commands and functions, including procedures, to a 
Spectrum-emulated 2068, almost all of the more significant 
progranoing features of SuperBasic other than 
multi-tasking are made available but with much easier 
key-in, syntax-checking, editing, and often faster pro- 
cessing. Most of these new BB commands and functions have 
2-10 optional formats to further extend their 
capabilities. For anyone interested in what Beta Basic 
does, by permission of BetaSoft I have written a 20K-byte 
demo program that includes an uneditable version of Beta 
Basic to actually run typical listings of about 85 of 
these BB ccmands. It is available for $5.00 to cover the 
cost of tape, postage and handling.) 

After carefully reading through the first issue of SDU and 
the useful tables Bill gave us, it occurred to me that 
another one which night be included is a list of some of 
the more frequently used system variables. I have copies 
of appendices B and D from the 2068 manual on the wall 
back of my work desk, but I find it handy to have these 
excerpts (LISTING I) taped to the right-hand side of the 
computer for quick reference. If the list is covered with 
clear packaging tape and attached only at the top edge it 
does not interfere with using the cartridge port. 

DOSDEX~AN AUTOMATIC FILE INDEXER 

The OOSDEX file indexer is an adapation of the excellent 
menu loader written by Roe 1 of Mulder and John Oliger and 
included in the SAFE DOS documentation. On my CPI 80-track 
drives, one DOSDEX disk can hold up to 165 disk catalogs, 
each of which can contain up to 165 individual file 
titles, or 27225 in all. These are displayed in the same 
format as the M/O menuloader and are sequentially accessed 



by keying (CAPS SHIR L> or just lower-case <1>. If the 
appropriate disk is inserted, keying (ENTER) as in the 
menu loader will load the title selected by the cursor. 

I added item numbering to the display of titles and 
file-types, without using the fast FOR/NEXT loop, so the 
additional processing time causes the display of nenu 
pages to be noticably slower. (At my age, more is passing 
me by than I'm catching up with anyway!) If the eighth 
byte (14) is changed to an 8 and the listing is entered 
exactly as given here, the machine code routine from your 
menu-loader listing may be poked into a 39-byte first-line 
REM instead of a MARS location as the program was 
originally written. No other variable definitions nay be 
placed between CLEAR and DIM c$ if the code is stored in a 
line 1 REM. With deletion of some screen effects and the 
line 10 q$ definition this allows DOSDEX to be placed in 
file 0 with SAFE v2.32 or later. 

Or if you choose, you may simply adapt your original 
menu-loader listing with the required changes for DOSDEX 
and save it as the very first file. It will not fit into 
file 0 but you can use it along with the nenu-loader 
routine which is in file 0. Note that token-words must be 
used as much as possible and line 200 of the original 
nenu-loader listing must be moved up to line 5. In 
condensed form DOSDEX will just fit into one cylinder 
(5120 bytes) when expanded with catalog data, or if you 
prefer to retain the original screen format each index 
will use two cylinders, cutting in half the maximum 
possible number of titles stored. 

To use DOSDEX, first save it (or the nenu-loader) to track 
8 on your index file disk with (CLEAR) (SAVE /B). Then 
make a save of DOSDEX as the first file on the disk with 
(SAWE / "DOSDEX" LINE 2). (This is necessary in order to 
initiate the routine if the shorter form of DOSDEX is in 
file 0.) For convenience in identifying your file disks, 
number them consecutively with a felt marker, numbered 
labels, or white-out as 8,1,2,3 . . . beginning with your 
DOSDEX disk. Since the storing of the respective indices 
requires alternately obtaining the CATalog data from each 
file disk, then storing it on the DOSDEX disk, it's a good 
idea to have write-protect tabs on all the file disks. 
(You could also adapt DOSDEX to a 2-drive system so file 
catalogs would be read from one drive and saved to the 
DOSDEX disk on the other.) The sequence for indexing on a 
single-drive system is this: 

Insert the DOSDEX disk (8) and key (LOAD). (Key (ENTER) to 
load DOSDEX if it is stored as file 1.) Remove DOSDEX disk 
and insert file disk 1. Key (C) to CATalog the file disk 
into DOSDEX. (If you have keyed in (LET / P = 0) before 
loading DOSDEX and have your printer on, a hard copy of 
the file titles will also be printed out here for disk 



5 



Programming 



January 1988 



labeling or a loose-leaf binder.) Renove -file disk 1 and 
insert DOSDEX disk. Key <S> to SAWE as index M'. Repeat 
with file disk 2, and so on. 

To read the DOSdex files, key <LOAD> with disk 8 in place. 
When DOSDEX is loaded, either fron file 0 or fron file 1, 
then key lower-case <1> or <CAPS SHIR L> to LOAD first 
set of titles. Use any key except L to run the cursor 
through the page(5) as with the menu-loader, or key either 
lower-case or upper-case <L> each tine you want to 
sequentially load each of the file indices in turn. If you 
want to update only one particular index, reset NEXT H 
(disk number) by keying <N> and insert the corresponding 
disk. Key <C> to CAT the updated info, then insert the 
DOSDEX disk and key <S> to SAME it. 

mm REFERENCES 

DFILEl: 14384,6912 
KEY REPEAT STOPs POKE 23561,0 
• ' DELAY! POKE 23561 ,n 
■ RATE! POKE 23562, n 
CmRS TABLE [+2563! 23606-7 

(Noraal! POKE 23607,60) 
KEYBEEP LEN! POKE 23609,n 
VARS START! PEEK 236274PEEK 23628*256 

(46 for first CHR* byte) 
BASIC start! PEEK 236354PEEK 23636*256 

(+1 for LSB of line no. or +5 for 

first character byte of line 1 REM) 
LINE 0: POKE 26711,0 
CALC STACK! PEEK 23651+PEEK 236521256 
CAPS ON! POKE 23658,8 

" OFF! POKE 23658,0 
TV FRAMES! 23672-3-4 

TOP-LINE SCROLL! INPlfT or POKE 23692,-1 
LAST-LINE SCROLL! PRINT AT 21,0 after above 
UNUSED SYSTEM BYTES! 23728-9 
R^OPi PEEK 237304PEEK 23731*256 
PRNT DRIVER! POKE 26703,LSB! POKE 26704,MSB 
UDG start! 65368 (168 bytes) 
JLO SAFE printer connands! 
LET /p=o 

OUT 127,27! LPRINT 

Col/line: POKE 23323,n (defauU=25S) 

LF after CRj POKE 23324,10 <0=no LF) 
SCREEN LPRINT TO PRINTER! OP^ •2,'P' 

(Normal ! CLOSE 82) 
WARM RESET! RANDOMIZE USR 0 



DOSDEX LISTING 

1 RBI 123456789 MC code here 456789B 123456789 

2 CLEAR ! DIM zimi ■178*,m •28')! LET t=VAL 'IS'! L 
ET s^S6N Pl! LET (fNOT PI: LET iNs 

5 LH a=VAL "PEEK 236354PEEK 23636*25645* : LET c=INT (a 
mi •256')! POKE m "23549" ,m "195"! POKE VAL "23559", 
a-(c*VAL '256")! POKE VAL •2355r,C! LET fi=USR VAL "23549 

LET row=54s! LET col=VAL ■9"! LET n*=c^(VAL ■178', TO V 
AL "16') 

28 LET a^"! DIM f*(WL "6" ,545)! LET f^(s45)=' DATA n" 
! LET mm PI)=" DATA $": LET f$(VAL •4")='C0DE "s LET f 

am. ■5")=m let mm. '6')=^ " 



308 CLS ! IF ni(LEN n*)=' ' THEN LEI n^n*( TO LEN ni-s)! 
60 TO m. "388" 

328 PRINT AT 0,0;" Diskl'|d-sj': ' |ni;lo;'Key: NEXT CAT S 
WE LOAD (l)l";d 

485 LET f=5! LET c=INT (fi/VAL "18")! LH dif=lNT ((fi/VA 
L "18"-c)«WL ■18"4WL ".4"): LET loop=VAL "17" 

418 LET q*="p": LET it=s! IF loop)=fi THEN LET loop=fi! 6 
0 TO VAL "425" 

415 FOR i=s TO c: FOR nFO TO loop! PRINT AT row4r6,t ja*;AT 
row4ii,t-LB< STR$ itjit;" "jc^dt, TO t)|" ';f$(CODE c^(it 
,m 'ID+D: LET rt=it45! NEXT »! 60 SUB VAL •588"! NEXT 
i: FOR 1=545 TO m. '19": PRINT AT i,t;a$! NEXT i! IF NOT 
dif THEN 60 TO WL "418" 

425 IF f THEN FOR bfo TO dif-s: PRINT AT row4ni,tja$|AT ro 
w4ii,t-LEN STRI it;it;" ";ci(it, TO t)}" •}f$(CODE c$(it,VA 
L •ir)4l)! LET it=it4s: HBH mi IF loop>=fi THB< LET f=o 

427 IF NOT f THEN LET it=fi45 

438 60 SUB VAL "590": GO TO VAL "418" 

588 FOR L=o TO n-s! PRINT AT row4L,col-s-s|" '; IWERSE 
5}">': IF q«>"" THEN FOR aFS TO PItPl! NEXT as LET qil="" 

518 LET a<=INKEY$! IF a1=" THEN LET q4="p"! 60 TO VAL "5 
18" 

528 IF CODE al=VftL "13" THEN 60 TO VAL "688" 

522 IF a$="C" THEN OPEN }»2,"P": CAT : CLOSE 12: 60 TO INT 

PI 

524 IF a*='L" OR a$="r THEN LOAD /STR* d 
526 IF a«="S" im LET d=d45: SAME /STR$ (d-s) LINE t*t! 
60 TO INT PI 

528 IF a^"N" THEN INPIJT ' INPUT NEXT «"id! 60 TO INT PI 
538 PRINT AT pow4L,col-s-sj" *: NEXT L: LET a4=" 
•1 RETURN 

688 CLS : LET poy=it-B4L: LET d«=c$(pos, TO t): LET a=COD 
E cl(po5,t45)! IF NOT a THEN LOAD /d* 
618 IF a=s THEN LOAD /d* DATA nO 
628 IF a=545 THEN LOAD /dl DATA n*() 
638 IF a=INT PI THEN LOAD /d«CODE 
648 IF a=\^L '4" THEN LOAD /dIABS 
658 IF a=^L "S" im LOAD /d$WL 



AUTHOR PROFILE 

Mr. Robert D. Hartung, "Bob" to us, holds down 
two positions for Dekalb County, I I Mnols. Bob I s 
Chaplain for the Sheriff Department, and Is a member 
of the County Child Protection Team. Bob also 
serves as Pastor of Church of God Ministries In Fort 
Wayne, IN., and Is the Founder of "Turning Point 
Services", a Ministerial outreach program for 
troubled youth. Bob prevtouly served with 

distinction In Pastorlal work In England and Canada. 
His hobbles are; helping Youth development, fishing, 
antenna design, photography, and TS Computing. Many 
of us are familiar with his writings In SYNTAX, 
SYNC, TS Horizons, Syncware News, Time Designs, and 
CTM magazines. Bob Hartung Is hereby appointed 
Chaplain and Spiritual advisor for UP-DATE and the 
subscribers. We need Bob In more ways than one. 



6 



Programming 



January 1988 



jflLSSTKRIIilG IHE MAMAGBBEMf OF OaLABACIia AHKAIS 



Wouldn't it be nice if we could CAT the disk directory, and with X-RAI eyes see the data that is in 
each program! But all we can see is the titles and the data length of each recording. Ibo bad that data 
can't be more visable! Probably the big^st problem of using conputers is the need to plan ahead and 
organize indexes of files so that later we will be able to find the data that ws need to use. Last issue, 
we started with "SDOS MAIL MERGE", a software that creates all kinds of Listings of Data, from "mailing 
lists, inventory lists, books and articles lists, to the daily milk producing records of a dairy teid". 
These lists are Saved for future use in "Character Armys". 

Ohe lists produced by SDCS MAIL MERGE are just that, "lists". SDOS ^feil Merge gives yoi a "Sorted, 
pure List", and provides options for print outs in several famHts, LAffiLS be.ing one of the most u^ful. 
Itovi if you work with many lists of thin^ or people, you know that each list that yai produce is likely to 
repeat sonB of the data that is contair^ in another list. If you print a lot of iiHiling labels using 
several mailiiig lists, you are likely sending cut duplicate letters to the same persais. It takes a lot of 
tine to cross reference several mailing lists, then more tine to eliminate the duplicaticxis. So, we have 
two problems to solve, one- eliminate duplications, and two- "X-RAY the disk files to see their contents". 

Ihe Eata ItatgeriBnt Package consists of SDOS MIL MERGE and iiie two Conpanicn Programs, "PURIIY" and 
"LIST LOOKER", both given in this issue. Itese two conpanion programs are short encugji that the key-in 
preject should be easy. But, as usual, the two programs ;d-ll be included in the January .Issue Diskette. 
"LIST IiX)KIiE" is your "X-RAY E/es", and "PUIOTY" is your program to PURIFY all of your varicus listing 
against each otJrier to eliminate duplicaticns within all of the lists. Each of these programs are 
independant, and designed to be used with the files produced by SDOS MAIL MERGE. Actually, they can be used 
to purify arxi process AIJY Dinensicmd ChBracter Array files, v*iatever the source, 

PURITY also has another purpose. Long Ifeil or Inventory Files cannot be LOADED to a Printing software 
becau^ of the limited amount of IHEE nemory of the host program. t^SCRIPr and SI^IART TEXT both gives us 
soneviiere between 12K and 17K of FREE nemory to be used for both lEXT and imiLDJG LISTS. A 96 Ussrae File, 
having 7 lir^s of 31 Characters each, takes up 2073)2 bytes, and cannot be loaded to ej.ther program, BUT, if 
we break down such large nailing lists to, say, 12 nanES par list, and "process the grcups autaintically", 
then tiiere is sufficient FREE available witii almost any v/ord processing software. Such a sdieiiE wculd 
result in the handling of mail files of 2604 bytes each, well within the capacity of any Word Processing 
Software. 

I wont speak for MSCRIPT, bat Smart Dsxt can take 40 such files of 12 nane groups, and print them all 
without hesitating, as Form letters, or Labels, or as just print outs of the listings. So, "PURITY" is 
desi^d to enhance the capabilities of all Word Processing Softwares, fcy splitting up Lar^ Listings so 
that they can be loaded to the operating programs. Now for the details. 



PIK IT Y 

At ri^t is a scr^n copy of the Purity 
Flinction Menu. This menu is line rumber 152 which 
is the starting lir^ number of the program. As 
functions are acconplished, this neiii is 
re^re^nted. Ihe PURITY pregram nay be SAVED and 
re-loaded with data aboard. Or, a selection of <6> 
will bring pronpts to install a Data Diskette, then 
CAT the directory and praipt for irpit of "file 
naiiE". Iten a file is loaded, the nenu re-appears 
and processing can begin. Each loaded, file is 
"purified" with itself, eliminating duplicates, and 
eliminating skips, by a selection of <7>. I'tei 
finished, the file may be RE-SAVED by a selection of 
<1> or <3>. 



YOUR CHOICES ARE: 

1. RE-SAVE Ihis FILE (SAVE OVER) 

2. Break into 12 Jfams Files, SAVE to PURITY DISK 

3. SAVE this Largp File Tb PURITY DISK 

4. Ca^PARE with all PURITY FILES for DUPLICATES 

5. FLIP through File Nanes on Scr^n 

6. LOAD another Largs File 

7. PURIFY this File 



1 



7 



Programml ng 



January 1988 



The selecticn of <2> will result in the lar^ 
file being brcten up into grcxips of 12 name files 
and each file SAVED vdth IN-SEQUENCE runeric file 
nanss, "mxl thirou^ mx100". This begins the 
creation of your "Purity Disk". For exanple, if tha 
large file being processed is a file of 95 name 
groups, your "purity disk" will have 8 group SAVES, 
and their titles will be "nix1 throu^ mx8". Tne 
"purity files" will be used to "purify your other 
lar^ gcoup files", lb process more large files, 
select <6> to load in the files one at a tine, -then 
<7>, then <4>. As that sequence finistes, the large 
file being processed has been conpared with the 8 
purity files, and all duplicates eliminated. Ihe 
large file is now PURE, and may be SAVED as a large 
file. 

Now that we have the second lar^ file 
ixjrified, it may also be sived to tte purity disk by 
selecting <2>. Then, the "mx" files are again saved 
as "12 naice groups", mx9 through mxl6. Ihere will 
be fewer saves of mx files if the eliminaticn of 
duplicate nanes resulted in fewer name files in the 
lar^ list. As more files are loaded in and 
processed, the purity file grows, and as it ©rows 
the number of conparisDns with the next lar^ file 
increa^s. For exanple, if we purify 10 files of 96 
names, tiriere could be as many as 80 rax files i^ved 
to the purity disk (no duplicates found), or 40 mx 
files if half of the names were duplicated within 
the files being processed. 

HPGKAMMDC 

This is a program of Ifested Counters within 
Nested counters. Ihe rumber of individual counts is 
astronomical. lb purify just one 96 narre file 
against itself requires 46O8 conparisai counts, plus 
7 counts for each duplicate found, plus 46O6 counts 
to eliminate interior ^ips, plus 7 caints for each 
skip eliminated. I haven't even attenpted to sum up 
tte rioriiber cf counts required to caipare all of the 
fields of a large file with ii)e mx files in the 
purity disk (be my guest). Oie or two files are 
processed fairly fast, taking only about two 
minutes. As the purity files build, the tine of 
processing increases. Ihis is an ideal BASIC 
program to assemble with TII4EiCHINE to greatly 
increa^ its speed of operaticn. 

PURIIY will not recogriize such repeats as, 
"John L. SulliAan, Mr. John L. Sullivan, and J, L. 
Sullivan". While using MAIL MERGEE to create the 
files, you should be consistant wit^i the farmt for 
entering names. Conparisons are nade with the FIRST 
I .TOR of each nanB group, the "nama line". If two 



Name Lines are the same, then the whole group of 7 
lives "of the large file being processed" are 
deleted. The files in the Purity Disk are never 
chan^d. The uenjs are arranged so that prompts 
give the break reeded to charii^ diskettes. You can 
use PURirY in several different vays to prxx^ess your 
listings. 'Ihe pure files are then ready to print 
out with either SDOS MAIL Ifer^, LIST LOOKER, Smart 
Text, or any software that can handle character 
array listings. 

THE PllIRITY LLIST 

10 FOR n=1 TO 3: LOAD /"mx"+STR$ n DATA k$(): FOR 
y=l TO 12: PRINT n;" ";y: FOR g=1 TO 4: PRINT k$(y,g 

): NEXT g: NEXT y: NEXT n 
20 STOP 

25 FOR n=l TO 96: PRINT n'o$(n,l): NEXT n 
30 STOP 

55 CLS : PRINT AT 10,0 ; " I nsta I I your Mail File Ois 
kette"" "Touch ENTER": PAUSE 4e4: CLS 
60 LET i=0: LET b= 1 : LET x=0 

65 LET a=0: BORDER 0: PAPER 0: INK 5: CLS : CAT : 
INPUT "Input Name of Array to L0AD";a$: LOAD /a$ DAT 
A o$() 

66 GO TO 152 

70 CLS : PRINT AT 10,0;"Check all 96 Names and DEL 
ETE DUPLICATES "; FLASH 1;"Line dO" 

60 FOR n=l TO 96: IF n>96 THEN GO TO 135: REM **F i 
eld counter 

82 IFo$(n,l,1)=" " THEN NEXT n: GO TO 135 
90 FOR y=n+l TO 96: REM ** comparison counter 
100 IF o$(n,l )=o$(y, 1 ) THEN FOR m= 1 TO 7: LET o$(y, 
m)="": NEXT m: REM ** Delete dup-licate 
1 10 NEXT y 
120 NEXT n 

135 CLS : PRINT AT 10,0 ; "E I i mi nate skips in 96 Name 
array"; FLASH l;»Line 140" 
140 FOR n=1 TO 96: IF n>96 THEN GO TO 152 
142 IF o$(n,1,1)<>" " THEN NEXT n: GO TO 152 
14^4 FOR y=n+1 TO 96: IF y>96 THEN NEXT n: GO TO 152 
146 IF o${y,1,1)=" " THEN NEXT y: NEXT n: GO TO 152 
148 FOR g=1 TO 7: LET o$(n,g)=o$(y,g) : NEXT g: FOR 
g=l TO 7: LET o$(y,g)="": NEXT g 

150 NEXT n 

151 CLS : PRINT AT 0,O;"The file FLASH l;a$; FLA 
SH 0;" is now Purified" "It^t OTZ ^^AT ^ 

152 CLS : PRINT AT 2,0;"Your Choices are:"""<1> Re 
-SAVE this file"'" (SAVE OVER old file"""<2> Bre 
ak into groups of 12 name files and SAVE to 
the Purity disk"""<3> SAVE this whole f i le to 
the Purity disk"''"<4> Compare with ALL Purity 

files for Repeats. """< 5> Flip Through File N 
ame3"'"<6> LOAD another File"'"<7> Purify this File" 
'"<8> Remove Skips Only": INPUT "Input choice ";z: G 
0 TO (2=8)*VAL "140"+(z=7)*70+(z=l )*160+(z=2)*178+(z 
=3)*160+(2=4)*370+(z=5)*600+(2=6)*50+(z<l OR 2>8)^15 



Programml ng 



January 1988 



160 CLS : PRINT AT 10,0;"Split the 96 name array in 
to 8 12 name arrays and save each to disk FLASH 
l;"Line 170" 

170 CLS : PRINT AT 10,0;"Thi5 is a PURE FILE SAVE. 

To SAVE OVER EXISTING, keep same dlsk."'"To SAV 
E on PURITY DISK, Install PURITY DISK"" "ENTER When 
READY": PAUSE 4e4: CLS 

172 INPUT "INPUT FILE NAME ";zi: PRINT " FLASH 1;" 
SAVING ";z$: SAVE /z$ DATA o$(): GO TO 152 

174 FOR n=1 TO 100: ON ERR GO TO 176: LOAD /"mx"+ST 
R$ n DATA k$(): NEXT n 

176 ON ERR RESET : LET b=(n-l AND n>t)+(l AND n<2) 

178>LET a=0: REM * "a"counts the large fields in in 
c- rements of 1. "b" numbers the disk files to sav 
e. 

180 FOR c=1 TO 96 STEP 12: REM *get groups of 12 na 
me fields 
190 IF c>96 THEN STOP : GO TO 340 
200 DIM kS(12,7,31) 

210 FOR y=l TO 12: REM ** count to f I I I a 12 name f 
i le array 

220 FOR g=1 TO 7: REM **count to f i 1 1 7 lines 
230 IF o$(c+a,l,l)=" " THEN LET c=96: LET y=12: LET 
g=7: GO TO 340: REM ** If first chr is aspace then 
quit, no more names present 
240 LET k${y,g)=o$(c+a,g): IF a=12 THEN LET a=0: GO 
TO 300 
250 NEXr g 

255 LET a=a+l: IF a>12 THEN NEXT c 
260 NEXT y 

300 CLS : LET z$=STR$ b: PRINT ;AT 15,0;"Saving ""m 
X"; FLASH 1; INK 6;z$; INK 5; FLASH 0;"""";: SAVE /" 
mx"+STR$ b DATA k$(): LET b=b+1: LET a=0: NEXT c 

310 NEXT c . 

330 CLS : BEEP 1,20: PRINT AT 10,0;"Fi le name ";a$; 
" has been split"' "into ";b-l;" groups named ""mx";i 
+ ]• "through nix";b-l ;"""." ""ENTER to Continue,": PAU 
SE 4e4: CLS : GO TO 350 

340 IF k$(1,l,l)<>" " THEN GO TO 300 

342 LET b=b-l : 60 TO 330 

350 CLS : PRINT AT 10,10;"Your Choices:"' 'TAB 4;"1. 

Qult"'»TAB 4;"2. Load Another File": INPUT z: IF z= 
1 THEN PRINT "TAB 4;"lnstall BASIC Disk, ENTER": PA 
USE 4e4: CAT : INPUT "Input Title to LOAD";a$: LOAD 

/a$ 

360 CLS : PRINT AT 10,0;"lnstall Data file Diskette 
"""ENTER When READY": PAUSE 4e4: CLS : GO TO 65 

370 CLS : PRINT AT 10,0;"ivlow purifying against the 
""rax"" files in Purity Disk."" FLASH 1;" Install Pu 
rity Disk and ENTER": PAUSE 4e4: FOR r=l TO 200: ON 
ERR GO TO 372: LOAD /"mx"+STR$ r DATA k$(): PRINT AT 

15,0; "Checking number of Files "; FLASH l;"mx";r: N 
EXT r 

372 CLS : ON ERR RESET : LET i=r-l : FOR r=l TO i : P 
RINT AT 10,0; "Processing file "; FLASH l;"mx";r; FLA 
SH 0;" to Delete Repeats in "; FLASH l;a$: LOAD /" 
mx"+STR$ r DATA k${) 



374 FOR n=l TO 12: IF n>12 THEN GO TO 388: REM »*Gr 
oup counter 

376 FOR y=l TO 96: IF y>96 THEN GO TO 386 

378 IF o${y,l,1)=" " THEN GO TO 384 

332 IF k$(n,l)=o$(y,1) THEN FOR m=l TO 7: LET o$(y, 
m)="": NEXT m: REM ** Delete dup-licate 

384 NEXT y 

386 NEXT n 

388 NEXT r 

396 LET b=i+1: GO TO 135 

500 FOR v,'=7 TO 12: LOAD /"mx"+STR$ w DATA k$(): FOR 
z=1 TO 12: LPRINT z;" ";k$(z,1): NEXT z: NEXT w 
550 STOP 

600 FOR w=l TO 100: ON ERR GO TO 602: PRINT w;" ";o 
$(w,1): NEXT w: STOP 

602 ON ERR RESET : PRINT FLASH 1: PRINT '"ENTER WHE 
N READY": PAUSE 4e4: CLS : GO TO 152 



LET LOOKER 

SDOS MIL LIST Oa^PANION Ito. 2 

Jtoll files, isile^txjae listii^, strode listings, 
etc, all have or^ thing in conraon. After the second 
listing is tucked away in diskette, things 
degenerate into confusicn. "Mios on first, what is 
in centerfield, and why is the pitcher". Remsmber 
that skit? "LIST LOOKER" is deceiving by its 
shDrtr^ss. Ihis utility will lock at any LIST FILE 
that is saved as a Character Array of thrse 
dinensions. Exanple, you have a 100 nane array 
containing "full name, Apartnent rxnriber, Street 
address, City and State, plus other data, making 
each a 7 line field. The "dinensicn" of the array 
would be A$(100,7,31), "31" being the number of 
characters per line. Its kinda hard to see what is 
in a file just looking at the Disk Directory, isn't 
it? 

LEST LOOKER will X-RAY that file and stow you 
its bones. List Looter loads in from disk, a 

prcxipt is on screen giving three choices: 1 . WAD an 
Array, 2. LPRINT Listing, 3. Screen Print Listing. 
When <1> is elected, you are pronpted to "Install 
Data Disk", then a touch of ENTER gets the Disk 
Directory WIIH A miWI to "mm ARRAY TITLE". If 
you are like ne, your diskettes ae kinda 
disorganized. So if that directory doesn't contain 
the data that you are loddng for, just HIEAK, type 
GO TO 5, and you can install another diskette to ^t 
its directory and loading proipt. 

The data arcs^ autcoatically LOADS after input 
of its title. Ihen <3> will get a screen print out 
of, each of the groups, numbered from 1 to the end 
HLiniber. Exanple, if there are 50 nanes and 



9 



Programming 



January 1988 



addrssaes, each will screen print under its field 
riimber so that you can identify the nanes that you 
my be interested in. Ihe "3. LPRIMT LISTING" lets 
you get a ccaiplete print out of all of the listing. 
'Ihis tinB however, you can select the "rajraber of 
Unas to print", "TAB", and "S'ACES BEIWEEN". So, 

wtot does this do for you? IHINK! You got it! 

You can print print LAEELS, by ir^jut of "4 Fields", 
2 spaces, and 5 for TAB. Or, you can irpat 7 lines 
anl ^t whole groups of data fields. 

Maybe you dant know how wan^ naoes and how many 
lines per name the array has. It really doesn't 
matter, as the program "sniffs for total number of 
fields", then tells yai that, plus the number of 
lii^s, at line 130. Ihe BiPUIS then governs the 
print fornat. Ihis is a excellent "companion 
utility" to use with mailing list data files 
^nerated by "SDOS MAIL I"!ERGE". Also, it works with 
"Ririty Files". "Ihe three programs go hand in glove 
to give you conplete processing of all kinds of 
Array E&ta Files. 

THEEROGRamnC 
TYbtb are several significant tips of 

prDgranimLng in LEST LOOKER. Lets take them line by 
line. Lire 5 (the starting line), gives the 
<LET/P=0> to initialize the Oli^r SAFE printer 
driver. Other Disk Operating systems will need to 
have a different program statement hare to 
initialize a printer driver. Ihen the POKE 23324,10 
is to tell the system to give a LINE FEED with each 
Carriage Return. If your printer does not need a 
LBE FEED, then Omit this. Ihen LINE 10 gives the 
vay to CAT the Disk Directory, and put a prompt on 
the screen directory. After the proopt, the Array 
Title is LOADED by LOAD/A$DArA Z$(). 

LEE SO is executed to LOOK AT the ARRAY and 
find its DIr'IE^JSIONs. Ttie "Z Counter" uses a (M EHR 
to trip when the Number of M:e fields have been 
counted. Ihe "G Counter" dc»s the sane for the 
Number of Lims". Ihen Vars Z and D are ussd for 
counter limits in the LPRING routine at line 20 and 
the Scr^n Print routire at lire 60. This program 
is short enou^ to really bite into and discover all 
of its tridcs. Have fun doing it! 



LEST UXXSRt ite LUST 

5 LET /P=0: POKE 23324,10: BORDER 0: PAPER 0: INK 
6: CLS : GO SUB 138: PRINT AT 10, 10;"0PTI0NS""TAB 
4;'M. LOAD ARRAY""TAB 4;"2. LPRINT Listing""TAB 4; 
"3. Screen Print Listing": INPUT "Input Your Choice? 
";a: IF a<l OR a>3 THEN GO TO 5 
7 GO TO (a=l )*10+(a>l )*90 
10 CLS : PRINT AT 10, 4;" install Data Disk, ENTER": 
PAUSE 4E4: CAT : INPUT "Input CHR ARRY TITLE";A$: L 
GAD /A$ DATA Z$(): GO TO 5 



20 CLS : FOR N=Z1 TO 12: ON ERR GO TO 40: IF Z$(N, 
))(!)=" " THEN STOP 
25 IF C>4 THEN LPRINT TAB T8;n 

30 FOR Y=1 TO C: LPRINT TAB 10;Z$(N,Y): NEXT Y: FO 
R M=1 TO SX: LPRINT : NEXT m 

35 IF tw=l THEN FOR Y=1 TO C: LPRINT TAB 10;N$(Y): 
NEXT Y: FOR M=l TO SX: LPRINT : NEXT m 

38 NEXT n 

40 ON ERR RESET : GO TO 5 

60 CLS : FOR N=1 TO Z: ON ERR GO TO 80: IF Z$(N, 1 ) 
=" " THEN STOP 

70 PRINT n: FOR Y=1 TO D: PRINT Z$(N,Y): NEXT Y: P 
RINT : NEXT H 

80 ON ERR RESET : PRINT ""ENTER WHEN READY": PAUS 
E 4E4: GO TO 5 

90 FOR Z=l TO 200: ON ERR GO TO 100: LET C=LEN Z$( 
Z,1): IF Z$(Z,1)(1)=" " THEN STOP 

95 NEXT Z 

too ON ERR RESET : LET Z=Z-1 : FOR G=l TO 100: ON ER 
R GO TO 110: LET C=LEN Z$(1,G): NEXT g 
no ON ERR RESET : LET D=G-1 
120 IF a=3 THEN GO TO 60 

130 CLS : PRINT AT 10,0;"The Array has ";D;" Fields 
.""AT 12,0;"lnput Nbr of Fields to Print. """( 4 f 
or Labels )": INPUT C: CLS : INPUT "Input Start Nbr. 
";Z1: INPUT "Input END Nbr. ";Z2: INPUT "Input TAB: 
";TB: INPUT "Input Spaces Between: ";SX 
132 CLS : IF c<5 THEN INPUT "Twin Labels? <1 > Yes- 
<2> No ";TW 
136 CLS : GO TO 20 

138 DIM n$<4,31): LET n$( 1 )="TS-2068 UP-DAJE" : LET 
n$(2)="1317 Stratford Ave.": LET n$ (3) ="Pan|ma City, 
FL 32404":^ RETURN II 



10 




Programming 

- OR - 

Adapting Software to Printers 

The article about printer control In the 

October issue brought forth enough response to 
indicate that a more comprehensive reference should 
be attempted. Apparently many users are having 
problems In this area. One nice Lady wrote her 
thanks, and several Gents wanted more Information, 
But John Ollger wrote and pointed out a couple of 
mistakes. These will be corrected in the text of 
the f ol lowl ng. 

Why doesn't software writers include enough 
programming to make the software print "right out of 
the box" with ALL TYPES of printers? Well, that 
would be nice, but would likely require about 38K of 
programming, and our TS-2068 has only 38K of FREE 
memory to start with. So, usually a software Is 
designed to print with a type of printer that Is 
"compatable with" several brands, and instructions 
given to make program line changes to adapt to other 
printers. There are several DOT MATRIX printer 
brands that use the "EPSON STANDARD", which usually 
means tnat the printer maker copied the Epson 
"Control Codes". Two "Standards" widely used with 
Daisy Wheel printers are "QUEME Compatable" and 
"DIABLO Compatable". 

In order for a computer to communicate with a 
printer, both devices must understand a common 
language. That common language is called ASCII 
(American Standard Code for Informaton Interchange), 
Page number 239 of the TS-2068 User manual gives the 
ASCII Codes and calls them "The Character Set". 
Actually there are more codes in ASCII than the 
TS-2063 uses, and a few of the codes in the TS-2068 
CHR SET are not standard ASCII, but for printer 
control, the codes In the User Manual will suffice. 
So, we have the "common language", which is 
ASCII, The computer understands It and so does the 
printer. Now there are two jobs that the printer 
must do. One is to PRINT CHARACTERS, and the other 
is to SWITCH Its own modes of printing. To PRINT 
characters the printer must be able to receive and 
to respond rapidly to "streams of characters" sent 
by the computer. The charcters are processed by a 
"printer driver", a machine language software that 
is supplied by the manufacturer of the "PRINTER 
INTERFACE". Since the TS-2068 contains only a 
printer driver for the little TS-2040 printer, ALL 
interfaces for large printers are supplied by our 
Cottage industries. Some of these are "Serial 
Interfaces", but most arc CENTRONICS PARALLEL 
i nterf aces. 

Wo will delay the discusslovof Serial (RS-232) 



January 1988 

interfaces until the next Issue of UP-DATE. For 
this discussion we will deal only with CENTRONICS 
PARALLEL Interfaces, and only with the OLIGER and 
AERCO Interfaces, These two "CP I " devices have 
become the dominant ones for the TS-2063, the most 
simple to use, and they use a minimal amount of 
computer memory for their printer driver code. In 
fact, the Disk Drive controller hardware contains 
the printer driver code in its EPROH, thus using no 
computer memory at all. These interfaces provide 
the electronics circuitry to process character 
streams and coded directions to a printer and to 
RECEIVE the "Interrupt signals" from the printer. 

The software "driver code" is an extension of 
the TS-2068 ROM, which lacks the "built In 
instructions" necessary to send data and commands to 
the printer. While the Oliger and AercoCPI 
Interfaces are different in circuitry, the driver 
codes supplied with each can be used with the other 
Interface, Now lets get to the two functions of 
these CP I interfaces. One function, and the most 
complicated. Is the processing of Character streams 
to the printer. Actually this is the most simple to 
use, <LPRINT> does it! You dont see the many 
complicated functions that take place, and you dont 
have to worry about It. 

The other CPI function Is to "Process Control 
Codes to the Printer", to make It do such things as 
Change from Elite Style to Pica Style, Roll up a 
Page, or the other mechanical functions that the 
printer does. The Interface uses "OUT PORT 127" as 
the communications path to the printer, and the path 
back from the printer for "Interrupts", So, the 
"ASCII COMMAND" that a printer needs to do a desired 
function is sent "OUT through PORT 127", A typical 
direct command to click up a i i ne space is <OUT 
127, 10>, "10 decimal" is the industry standard 
ASCII CODE for printers to perform a LINE FEED, 
There are 32 "single character codes", 0 through 31, 
In the TS-2068 Character set that can be "sent out" 
In this manner. 

Actually there are 255 character codes that can 
be sent out to the printer, but only 32 can be sent 
out "without a character being printed". All of the 
other 223 codes will cause something to be printed. 
Example, <OUT 127, 65> will result in the character 
"A" being printed. This is because ASCII CODE 65 is 
assigned to the character "A", and the interface 
processes data characters to be printed. Some 
printers use as many as 80 ASCII CODES to perform 
internal changes. For example, a Diablo Daisy Wheel 
printer uses ASCII CODE 79 to "SET BOLD PRINT", BUT 
<OUT 127, 79> PRINTS a "0"! The solution to "sending 
printable ASCII CODES" to the printer is to first 
send the "ESC COMMAND". 

The "ESC" code is "27", So, using the aoove 
example, <OUT 127, 27> then <OUT 127, 65> will command 



II 



Programml ng 



January 1988 



the Diabio printer to SET BOLD PRINT. The ESC cods 
(27) tells the printer to "Expect a CONTROL CODE 
NEXT". Printer manuals vary as to how their CONTROL 
CODES are given. Most manuals have a table of 
control codes with numbers given in both HEXADECIMAL 
and DECIMAL. A typical such expression would be 
given in brackets as (1B,4D)H (27,77)0. The first 
group is given in Hex and the second group in 
Decimal, In this case, our TS-2068 command would be 
<OUT 127, 27> <OUT 127, 77>. Another way that the 
SAME command group could be presented is <E5C M>. 
"ESC=27 and the Character Code of "M" is 77". 

Still another way given in some printer manuals 
is <LPRINT CHR$(27)+M>, which isn't the correct way 
of sending such codes with the TS-2068, but can be 
intrepeted as OUT 127,27:0UT 127,77. So, with all 
of these different ways of saying the same thing, 
it's no wonder that printer manuals are confusing! 
Incidentally, that ONE command group is used by 
Epson printers to SET ELITE PRINT MODE. Command 
codes to perform a single function may be as many as 
six codes chained together. Example: (27,120,1)0 
(155,120,1)0. The "D" for Decimal may or may not be 
present. That command group SETS HI QUALITY MODE 
for Epson printers. The command for the Aerco and 
Oliger CPI would be <0UT 127,27: OUT 127,120: OUT 
127,1: OUT 127,155: OUT 127,120: OUT 127, 1>, quite a 
long group of OUTs to do just one switching 
function I 

Now its gonna get longer, because that group of 
six OUT commands execute in about 100 milliseconds, 
and the printer requires much more time than that to 
respond to SWITCHING commands. For Software 
programming lines to Command the printer, we must 
have a "CHECK OF THE PRINTER STATUS" routine TO SEE 
IF THE PRINTER IS BUSY before sending a control 
code. When the printer is busy it places a 
interrupt signal on IN PORT 127. If the printer is 
busy then the software must wait until the printer 
is READY before sending the control code. The 
correct way to do this with the Oliger CPI is to use 
the loop given in the interface manual, which is 
<100 IF INKEY$ #3="B" THEN GO TO 100> <102 KtTURN>. 
Then a control code group such as (27,45) would be 
programmed in a line as: <50 GO SUB 100: OUT 127,27: 
GO SUB 100: OUT 127, 45>. The line 100 will loop 
itself until the printer is READY, then the line 100 
IF condition will be FALSE and the RETURN will allow 
the next OUT command to execute. 

The above "INKEYS #3" polls the IN PORT 127 for 
the bits used by printers to signal its status to 
the computer. But, this procedure requires a 
interface driver that processes the INKEY #3 syntax. 
If you use another type of interface you should 
check its manual for a PRINTER STATUS CHECK routine. 
The use of INKEYS #3 returns a "Improper I/O device" 
report when used with some other interfaces. If you 



get such a report code you can turn OFF the printer 
and type <PRINT IN 127>. Then use that number in 
the status check routine. My system produces 253 
when the printer is BUSY. Mr. Oliger tells me tnat 
all bits of IN PORT 127 are not not controlled the 
same with all models of the TS-2068. His words are 
quoted: "A program loop such as the example given 
(100 IF IN 127=253 THEN GOTO 100) (102 RETURN) 
should not be used and this is not how the printer 
interface manual instructs this to be done. This is 
the kind of thing that works with one computer but 
not on another, because all of the bits on IN PORT 
127d are not used, and thus are floating. The 
function INKEY$ If i should be used for this purpose 
as detailed on page 6 of the Oliger Interface 
manual 

Pardon me for digressing into the complicated. 
This is supposed to be a SIMPLE treats ie about how 
to clear the fog in printer manuals and CONTROL your 
printer with program lines. Wo will get back to 
that. Other interfaces such as TASMAN and A&J use 
LPRINT CHR$ instead of OUT 12 7. Many printer 
manuals express their EXANFLE commands in this 
manner, LPRINT CHRS 27, as the ESC command, instead 
of OUT 127,27. Thats alright if you know how to 
intrepet such red herrings. The Oliger and Aerco 
interfaces just wont work with LPRINT CHR$, and must 
have OUT 127, number. 

To sum up: When ESC is given, it means OUT 
127,27. When a letter character is given as a 
command code, look up the ASCII code for the letter 
on page 239 of the TS-2068 User Manual and use the 
CODE number as the command. When constructing 
program lines to Command the Printer, each OUT 127 
should be preceeded with <G0 SUB> to the "STATUS 
CHECK" routine, which for the Oliger and Aerco CPI 
is <100 IF INKEYS #3="B" THEN GO TO 100> then a 
following line <102 RETURN>, The line numbers can 
be of your choosing. There Is no limit as to the 
number of "chained commands" that can be in one 
program line. Many printers require as many as six 
chained commands to perform one function change of 
the printer. 

You cannot use HEXIDECIMAL numbers in your OUT 
127 command, HEX numbers must be converted to 
decimal, if not given in the printer manual. Page 
239 of the TS-2068 User manual gives the codes in 
both Hex and Decimal. Printer control sequences 
given in a printer manual, such as: (ESC * 0 2) must 
be intrepeted by looking up the codes for "*" (42), 
for "0" (79), for "2", (50). We know that ESC is 
27. So, the chained commands would be entered in a 
program line as follows: <500 GO SUB 100: OUT 
127,42: GO SUB 100: OUT 127,79: GO SUB 100: OUT 
127,50: RETURN >. GO SUB 100 would be to the INKEYS 
#3 routine to check the printer status. 

Your printer and the software can both be OK, 



Programming 



January 1988 



but all you get is partial lines of print that 
lap over onto tlie next line, because of improper 
printer switch settings. Most softwares completely 
control the printer and require that no MARGINS be 
set at the printer, the auto PAGE ADVANCE be turned 
OFF, the printer LINE JUSTIFICATION be turned OFF, 
the PORPORTIONAL PRINT PRINT SPACING be turned OFF, 
and for letter size pages, the LINES PER PAGE 
setting at the printer should be 60 lines per page. 
Then the software and the printer wont be fighting 
each other to control margins, character spacing, 
and page length. Let the software do the 
controlling, and let the printer be DUMB, just 
responding to "Simon Sez" commands given by the 
software. 

The printer switch that sets a LINE FEED with 
each CARRIAGE RETURN should be ON, Then a line feed 
will occur each time a line is printed. A Carriage 
Return command is sent by the sotware each time a 
line has printed, or the "partial last line" of a 
paragraph, f>low this Just about sums up "everything 
that anyone wi II ever need to know about Commanding 
printers with the Oliger and Aerco CP Interfaces", 
Next issue we will discuss a RS-232 Serial 
Interface. In the meantime perhaps someone would 
like to sond In a treats ie about "printer commanding 
with the TASMAN CPI. Permission Is hereby given for 
TSUG Clubs to make re-prints of this article or 
excerpts thereof, 

FlRMCriOL mSES OF SCWEBHI FOILES 

- AND - 

DISK DEPENDANT PROGRAMMING 

if I had to complain about something i would 

gripe about the 6912 bytes of disk space that is 
required to SAVE a Screen File. A whole screen, 
when full, contains 22 X 32= 704 characters. Of 
course there is much more to a displayed screen than 
just the places reserved for characters to be 
printed, but 6912 bytes? A program line that 
constructs a screen takes up quite a lot of our 
precious FREE Memory. The more a software can do, 
the more MENUS and screen displays are needed. 
Usually a well designed screen will cost about 
600-1000 bytes of FREE MB^ORY. A software that has 
a lot of functions may need as many as a dozen such 
Menu and Information Screens, Ttie FREE Memory used 
for a dozen such screens would be between 6 and 12K 
bytes. Look at FREE memory in another way, A full 
page of printed data is usually about 3000 
Characters. So, 12 screens within the softv/are 
programming costs us the memory capacity of about 2 
to 4 full pages of data. 

Is It economical to spend 6912 bytes, times 



12=82944 bytes of disk space to save 12 screens and 
"boot the screens in when needed in a program"? You 
bet it is!! And, the SCREENS LOAD and SAVE is one 
of the most useful functions of a Disk Drive. The 
programming (SAFE) <1000 LOAD /"1"SCREEN$> (AERCO) 
<CAT "1,SCR",> is all that Is needed to bring aboard 
a screen menu that would take up 1000 bytes of FREE 
Memory, 12 such lines of programming costs only 132 
bytes of FREE memory. We have a million K of disk 
space to waste, but every byte of FREE memory is 
like the last lick of a ice cream cone. How sweet 
it is! And who cares about a 6912 byte chunk of 
DISK Space? I rememember once testing the 

practicality of booting screens from Cassette, 
While the screen was loading in the grass on the 
lawn grew enough that it needed mowing! And I 
watched as a Cardinal built a nest, layed her eggs 
and the young birds learned to fly! All while that 
screen was loading from cassette. Well, maybe thats 
stretching it a bit. Anyway, <L0AD /"1"SCREEN$> 
pops a menu on screen in 2 and one half seconds 
flat! Thats FAST and efficient! 

The "doing it" is too easy to talk about. You 
just program your screen In the normal way with 
PRINT AT statements in a line of programming. But 
now you can let It all hang out and create a real 
beautiful screen with color changes, full words 
Instead of abbreviations, and put nice borders 
around it. When finished and the screen is really 
beautiful, just BREAK, and type <SAVE/" 1"SCREEN$>. 
Next DELETE the program line, and re-enter the same 
line with 1000 LOAD /"I "SCREEN J. Do this as many 
times as you have Menus and Display screens in the 
software. When finished, your program will have 
more meaningful menus and you'll have saved enough 
FREE memory to add many more functions to the 
program. 

Now what we have just done Is to create a "Disk 
Dependant" software. It wont work without the disk 
drive. You are sacrificing a good bit of disk space 
to conserve Computer FREE Memory. Later we will use 
disk space to store "Segments of the Software 
itself", and MERGE these segments to the main 
program in memory as the program routines are 
needed. For example, suppose that you have a 
software that has a Data Base Manager, a Word 
Processor, a Mai I Merge, You have used a lot of 
programming for these three comprehensive functions, 
and have thus sacrificed FREE memory for DATA 
STORAGE. While you are using the Data Base Manager, 
you really do not need the Word Processor nor the 
fjlail Merge to be on board. 

So, when the SAFE Merge function is 
implemented, we can have our cake and eat it too. 
Software programs can be segmented so that only the 
major function that we need will be in memory. The 
other major functions will be on stand-by in disk^ 



TIMEX CLUBS OF NORTH AMERICA 



TS-2068 SUPPLIERS 



Fol I owl ng Is a I i st of Ti mex CI ubs of 
North America, A few may be missing and 
will be published as Information Is 
received. Some of these clubs publish 
excellent newsletters that are worthy of 
subscribing to. For those clubs that may 
be Interested, Up-Date Is willing to 
publish a "Club Edition" that consolodates 
Inputs from participating clubs. If 
sufficient Interest Is forthcoming. 
Suggestions will be welcomed. 



Following Is a listing of Suppliers of Software and 
Hardware for I he TS-2068, There must be more, and Up-Date will 
publish additions to this listing as Information Is obtained. 



220 Centre St. 
Sullivan, NH 03445 



Cuyahoga Valley Software 
615 School Ave. 
Cuyahoga Falls, OH 44221 



APR Software 

1606 Pennsylvania Ave. #204 
Miami Beach, FL 33139 



Box 18093 

Austin, TX 78760-8093 



Oan Elliott 
RR-I, Box 117 
Cabool , MO 65689 



Footo Software 
PO Box 14655 
Gainesville, FL 32604 



John McMlchaol 
1710 Palmer Drive 
Laramie, WY 82070 



Knighted Computers 
707 Highland St. 
Fulton, NY 13069 



S.E, Michigan Group 
Box 614 

Warren, Ml 48090 



G.U.T.S. Group 
6625 Clifford Drive 
Cupertino, CA 95014 



Kansas Area Users 
4557 Cherry 
Wichita, KS 67217 



TAS BAM User Group 

PO Box 48961 

St Petersburg, FL 33743 

Newsletter 

TSUG of Phi ladelphia 

PO Box 53490 

Phi ladelphia, PA 19105 



Westmoreland TSUG 
PO Box 3051 
Greensburg, PA 15601 



Vashon I si User Group 
PO Box 199 
Vashon, WA 98070 



Ml ie High 

914 S. Victor Way 

Aurora, CO 80012 



Hampton Roads 
1 12 Kohl er Crescent 
Newport News, VA 23603 
Newsl etter 

Sincus News 
1229 Rhodes Road 
Johnson City, NY 13790 
News I etter 

L. I.S.T. 

10 Idle Way Drive 
Center Point, NY 11721 
News I etter 



Toronto Canada Group 
PO Box 7274, Stn A 
Toronto, Canada M5W 1X9 
Newsletter 

San Francisco Area 
PO Box 1312 
Pad flea, CA 94044 
Newsletter 

l*lorth Carolina Group 
206 James St. 
Carrboro, NC 27510 



Miiwaul<ee User Group 
5052 N. 91st St. 
Mi lwaui<ee, Wl 53225 
Newsl etter 

Sun Lake Group 
1200 Lake Drive 
Grand Island, FL 32735 



Vancouver Group 
2006 High View Place 
Port Moody, BC V3H 1N5 
Canada ^ 

CCATS 

1419 1/2 7th St. 
Oregon City, OR 97045 
Newsl etter 

NE Florida TSUG 
6634 Oriole Ave. 
Jacksonvl lie, FL 33216 
Newsletter 

TSUG of Orlando 
808 E. Anderson St. 
Orlando, FL 32801 



S.T.U.N. 

Rt. 1, Box 21 

Glade HI 11 , VA 24092 



u 



PO Box 280298 
Dallas, TX 75228 



Basically Programming 
2528 W. Olive 
Fullerton, CA 92633 



Beaver Computer Products 
756 Fleming Ave. 
Winnipeg, Manitoba RIK IV5 
Canada 

Bob Crecco 

1627 Dewey St. 

New Albany, IN 47130 



Byte Back 
R+. 4, Box 54 
Leesvl lie, SC 29078 



Byte Power 

1748 Headowvlew Ave. 

Pickering, Ontario LtV 368 

Canada 

Chal-ChI Chao 

73 Sullivan Drive 

Morago,CA 94556-1209 



Curry Computers 
PO Box 5607 

Giendale, AZ 85312-5607 



Quantum Computing 
PO Box 1280 
Dover, NJ 07801 



RMG Enterprises 
1419 1/2 7th St. 
Oregon City, FL 97045 



S4K Enterprises 
2107 SE 155th 
Portland, OR 97233 



Sharp's Inc. 
RT 10, Box 459 
Mechanclsvllle, VA 23111 



SInclink Co. 

6675 Clifford Drive 

Cupertino, CA 95014 



G. Russell Electronics 

RD-I Box 539 

Centre Hal I , PA I682B 



Grey i Clifford Computer 
PO Box 2186 
inglewood, CA 90305 



Gulf Micro 

1317 Stratford Ave. 

Panama City, FL 32404 



Heath Computer Services 
950 E. 52 South 
Greentown, IN 46936 



Herb Bowers, Sr. 
2588 Hoodshire CIr 
Chesapeake, WA 23323 



JRC Software 
PO Box 448 
Scottsburg, IN 47170 



Jack Dohany 

390 Ruthoford Ave 

Redwood City, CA 94061 



Jameco Electronics 
1355 Shoreway Rd. 
Belmont, CA 94002 



Sincpac Software 
5206-1 Cedarbend Dr. 
Fort Myers, FL 53907-7514 



SIrus Ware 

6 Turning HI il Rd. 

Lexington, MA 02173 



Sunset Electronics 

2254 Taravai St. 

San Francisco, CA 94116 



The 01 1 ger Co. 
11601 Whidbey Drive 
Cumberland, IN 46229 



Thomas B. Hoods 
PO Box 64 

Jefferson, NH 03583 



Larken Electronics 
RR-2 

Naven, Ontario K4B IH9 
Canada 

Mark L. Fondrick 
PO Box 2392 

Secaucus, NJ 07004-0992 



Market Enterprises 
PO Box 2392 

Secaucus, NJ 07094-0992 



Heta Media 
726 W. 17th 
Vancouver, BC V5Z 1T9 
Canada 

Mountaineer Software 
749 Hi 1 1 St. 16 

Parkorsburg, WV 26104 



Novel soft 

35 Candle LIteway 

Niilowdale, Ontario H2R 3J5 

Canada 

Paul Bingham 
Box 2034 
Mesa, AZ 85204 



Peripherals Direct LTD 
PO Box 4301 
Northbrook, IL 60065 



Variety Sales 

325 W. Jersey St. #20 

Elizabeth, NJ 07202 



WMJ OalB Syslmtn 
4 Butterfly Drive 
Hauppauge, NY I I 788 



Wymi i Corp. 
Box 5904 

Boil Ingham, WA 98227-5904 



Zebra Systems 
78-08 Jamaica Ave. 
Woodhaven, NY 11421 



Articles and Reviews 



January 1988 



The TS-2068 DISK DRIVE SYSTEMS 
Ooablnatlons to Achieve Increased tepabMItle 



OWNER'S Basic — y Plus — * Additional ^ EQUALS Additional Capabilities 

Disk System Device 



Oliger SAFE 
Disk System 



SPDOS Disk- 
Software 



-> Oliger SAFE DOS + RAMEX DOS Formats 

Two Simultaneous Disk Operating Systems 



Oliger SAFE 
Disk System 



LARKEN SKDOS 
Cartridge 



-> Oliger SAFE DOS + Larken DOS Formats 
Two separate Disk Operating Systems 



Larken Disk 
System 



► Oliger SAFE - 
Board A 



-> Larken DOS + Oliger DOS Formats 

Two Separate Disk Operating Systems 



Larken Disk 
System 



' Aerco FD-68 < 
Disk System 



Larken DOS + Aerco DOS 

Two Separate Disk Operating Systems 



Aerco FD-68 
Disk System 



' Plus —4 Aerco on-board 
Extra Memory 



Two Disk Operating Systems (RP/M + Aerco DOS) 
Extra Memory banks for programming 



Aerco FD-68 
Disk System 



^ PI us — -> Larken SKDOS 
Cartridge 



^ Three Disk Operating Systems 

{above, plus Separate Larken DOS) 

Plus RAM DISK if Extra Memory present on FD-68 



RAMEX Disk 
System 



« Not aware of possible 
Combinations 



RAMEX SPDOS Operating System 

RAMEX Disk System is no longer supported 

by a manufacturer. 



TOS (Zebra) 
Disk System 



» Not aware of Possible 
Combinations 



-> TOS Disk Operating System 

TOS Disk is no longer supported 
by a manufacturer. 



All of the above Disk Systems are compatable with Cassette LOAD and SAVE operations. 
Cassette Is the "Transfer Medium" to SAVE programs that are formatted by any disk system; then 
re-load to the TS-2068 that has a different disk controller Installed; then EDIT the program 
lines and MODIFY the DOS SYNTAX; then SAVE to Disk with the DOS that Is In use. The Computer 
must be turned OFF to transfer from one Disk System to another. There are two exceptions to 
this. The Oliger SAFE and SPDOS software combination provides two DOS systems Co-resident. The 
Aerco FD-68 Disk System has Aerco DOS and RP/M Co-resident. 



7 



Articles and Reviews 



January 1988 



SPDOS -for North America 

Ian Robertson 

SPDOS was originally isarketsd in the UK by WATFORD ELECTRONICS 
as a disk interface and operating systea. KEHPSTON (the joystick 
interface people) later sarksted a version which used a ssaller 
aiount of RAH, approx. 700 bytes (Watford used about 8k). A 
varient of tlie SPDOS interface was narketed in North Aaerica fay 
RAHEX IMTERNATIQNAL LTD. and known as the MILLENNIA K. This is 
the systei that in 1985 introduced se to the wonders of a disk 
systea (later to be followed by the OLISER, LARKEN, BETA PLUS, 
KEHPSTON and finally the CUHANA). The SPDOS presently being 
aarketed by the CUYAHOBA VALLEY SOFTWARE WORKS is a aodification 
of SPDOS far the 2068 running on Oliger hardware. It is sold 
under license froi ABBEYDALE DESI5NERS LTD., who wrote SPDOS. As 
a tatter of fact, the awunt paid (by CVSW) to Abbeydale is a 
Urge portion of the selling price. This group has not written 
this software to sake Boney, but rather to help extend the life 
of our coiputers. The DOS operating systei is available on two 
5.25 inch disks, for either 40 track DSDD or 80 track DSBD 
drives. 

The first disk is an Qliger disk with a "boot" that replaces 
soie of the hardware of the Hillennia K interface. The second 
disk is the "SPDOS Systei' disk. 

HOM IT WORKS: 

SPDOS is a RAM based DOS. Because of that it uses several K of 
RAM and can be run concurrently with the Oliger DOS (which uses 
no RAM) in operation. Certain SPDOS coiaands are read fro* disk 
and the systea disk should be in Drive *1 (Oliger drive 10). 
Since SPDOS is also conpatible with the Millennia K systea, it 
works only in the 2068 lode. Disks which were written on the 
Rasex systea can be read and written to. However these disks 
should be considered as Data disks (disks without the operating 
systei on thei). 

The DOS occupies aeaory froa 5B500 to roughly 63500. It supports 
sequential files and prograa overlays. The overlays are prograa 
segtents with line nuabers that are loaded in froa disk 
replacing existing ones, aaking aeaory use sore efficient and 
adding structure to the prograi. 

The DOS is as fast as the Oliger in Loading and Saving. SPDOS 
allows 144 directory entries per disk and uses a ainiaua of IK 
for a file. A faraatted 80 track drive will have aproxiiately 
785K of space free to write to. Each SPDOS track is organized 
into ten 512 byte sectors. SPDOS supports coaaands like MOVE, 
ERASE, and will autorun prograas naaed "AUTO* when the systea is 
Booted up. It has the ability to perfos a selective CAT. All 
SPDOS coaaands Bust be prefixed by the coaaand 'PRINT # 4:'. 
Other coaaands are used in the noraal way. Those of you using 
the latest version of the LARKEN disk interface will recognize 
this syntax. 



Several utility prograas are included: SYSCOPY which will back 
uo SPDOS, COPY which will assist in selectively copying disks, 
ERASE which does the saae for erasing files, MINIDOS a truncated 
DOS located at 49644 to 53600, and MAIL/BAS a deaonstration data 
base. 

The SPDOS systes should be considered an enhancetent to the 
Oliger Safe Disk Operating Systea rather than a replaceaent. It 
will be of the aost use to people who write a lot of their own 
prograas, and those who have a Millennia K systea or know users 
who do as it adds a certain aaount of coapatibility to the 2068. 
For exaaple, Rasex aarketed 2068 disk versions of MASTERFILE, 
TASHQRD II and QMNICALC. This software should allow these 
prograas to he run on the OLISER disk systea, but I aa not sure 
about the ability to print, using an 80 coluan printer. The 
RAMEX systea is coapatible xith the TASMAN C Centronics 
interface, while the QLIBER is coapatible with the OLISER/AERCO 
Centronics interface. 

KHERE TO BUY IT: 

The cost is $24.95 + $1.50 for postage and is available only 
froa the CUYAHQfiA VALLEY SOFTWARE WORKS, 615 School Ave. , 
Cuyahoga Falls, Ohio 44221. 

2068 : Larry Kenny of LARKEN ELECTRONICS has done 
it again'. He has produced a disk interface cartridge, that 
plugs into the cartridge port, which turns your RAHEl interface 
into a LARKEN interface. And it works! It coies with the DOS 
on a 2764 Eproa and the FORHAT software on tape. The FORMAT 
prograsfle is loaded into the coaputer and after configuring it 
to suit your (up to 4) drive systea, it loads itself to disk. I 
have tried it on both 3SDD 3' and 5 1/4* DSQD drives, without a 
problss. The LARKEN extended basic coaaands also work on ay 
RAMEX hybrid. Now for the interesting part - the cartridge does 
not have to be resoved froa the cartridge port when the m£i 
DOS is used AND by switching off the RAKEX DOS eqroa, the RAH£,t 
does not have to be sBodified in any way. 



Prof I le of the Author 

Mr. Ian Robertson Is the Liaison Officer for 
the Toronto Timex Sinclair User Group and a regular 
writer for their fine publication "Sine Link". Ian 
has every computer that bears the Sinclair name and 
is current on all. Despite pressures of business 
and family Ian finds time to contribute his 
knowledge. We look forward to his future article 
about SPDOS, The QL, and other Items of Interest. 



8 



Articles and Reviews January 1988 



LARKEN DSK400 DISK OPERATING SYSTEM 
A review 
by G.F, Chambers 

Larry Kenny has come out with what in effect is his 
third generation disk interface system. Possibly one 
should say his 2nd generation, since It could be said 
that the first generation had two phases. 
Lets review the background: 

The first system was based on an EPROM DOS (which 
was bank-switched into the 63488 area of memory), plus 
several disk DOS's. The second phase of this first 
system provided a cartridge DOS which was bank- 
switched into the ROM area of the computer (when disk 
functions were required), and eliminated the need for 
the EPROM- and disk-based DOS's. The cartridge also 
provided several supplementary features not available 
on the intial system. This system was confined to the 
use of two DSDO drives, and formatted disks to a 160K 
capacity and maximum of 50 files. 



The new system, the DSK400, subject of this review, 
consists of a cartridge board very similar to the 
original, plus a new interface board. The new inter- 
face board measures about 6 inches by 2 inches, and 
mounts horizontally behind the computer. A ribbon 
cable for the drive plugs into a connector at the 
right-hand end of the board. At the other end of the 
board are an NMI button and a 9-pin joystick 
connector. Possibly the unit could fit into an empty 
Memotech or Gladstone ZX81 64K RAMpack case. The board 
is equipped with a gold-plated female connector with a 
tinned male through-connector, for adding other 
peripherals. Four of the nine chips on the Interface 
board are socketed. The quality of the board Is very 
high. 

The system can handle a variety of drives, up to a 
maximum of four. It is said to be capable of handling 
3", 3h"i and S^s" (not 8")single or double sided drives 
in single-, double-, or quad density. I have only 
tried it on a SA455-type 5^" drive in the DSDO mode. 
In this mode disks can be formatted to hold just over 
400K. 

The sytem uses all the familiar Sinclair commands, 

including CAT, ERASE, LOAD, SAVE, MERGE, OPEN #, CLOSE 
#, FORMAT ,also GOTO and PRINT. All disk commands are 
prefaced with PRINT USR 100: or PRINT #4: 

The system Is compatible with the 2068 and the 
Spectrum mode, A Spectrum EPROM can be mounted on the 
cartridge and switched in with a short BASIC command 
from the 2068 mode. It has an AUTOSTART mode, by which 
you can boot a program into memory by holding the 
ENTER key operated while powering up the computer. 
Only one program per disk can be handled this way. I 
usually make this a MENU program to select the program 
that I want from the disk. This AUTOSTART program can 
be used to automatically boot the computer into the 
SPECTRUM mode from a cold start, and produce the menu. 



With an appropriate EPROM DOS the cartridge is 
also suitable for use with several other disk systems, 
i such as the AERCO, RAMEX, OLIGER; Improving the 
I performance of these sytems significantly. It can also 
I be used with the OS-64 and LROS cartridge chips, by 

' mounting them on the cartridge board. 

I 

A program to format disks is supplied on disk, 
along with a program to facilitate copying disks using 
two drives. The FORMAT program will format disks as 
either double or single sided, and to 40 or 80 track 
density. 

Programs can be saved (and loaded) with all the 
command forms used with tape, as for example:: SAVE 
"progrm.Bl", SAVE "prognruBl" LINE 100, SAVE "prog, CI" 
CODE start, length, SAVE "progrm,Cl" SCREENS, SAVE 
"progr,Al" DATA (), SAVE "progr.AS" DATA $(). 

Programs can be removed from the disk using the 
ERASE coirenand. Tracks so erased become available for 
subsequently saved programs. 

The NMI (snapshot) button means that you can 
capture to disk those unbreakeable programs on tape. 
Simply load your program, press the NMI button and the 
program will be transferred to disk. It captures the 
complete memory from address 22490 upwards, and uses 9 
tracks of a disk. Loading one of these programs from 
disk takes just under 7 seconds. A disk can hold 8 of 
these programs, and have 7 tracks spare for menu, etc. 

Programs such as Tasword, Timachine, Pro/file, 
Mtermll are readily modified to run on the DSK4D0 
system. Mscrlpt with Jack Dohony's mods can be 
similarly adapted. 

The joystick port accepts the 9-p1n connector 
standard on joysticks, and works with those programs 
which are provided with the Kempston joystick option. 

The DUMP. 81 and C0PY2D.B1 programs supplied on disk 
with the system use a modified disk DOS which can be 
used from BASIC programs to control the drive 
operation. This means that disk utilities can be 
written In BASIC to perform a variety of tasks, 
similar to what has been done with the earlier LARKEN 
systems. Typical of this are three programs which I 
have modified for the DSK400. They are a RENAME 
program , which will rename programs on disk; DOCTOR 
with which one can inspect and repair errors on disk 
tracks; and INDEXER which maintains a file of programs 
on a disk collection. 

The DSK400 Includes a number of Extended Basic 
commands. These permit the placement onscreen of up to 
i three "windows" of any size, colour, and position; and 
writing to them in proportionally spaced characters. 
Also there is a set of 7 graphics patterns which can 
be called up as desired to fill areas of screen. A 
CIRCLE command will fill in selected areas of the 



00 psf aJo f 



10 



Articles and Reviews 



88 



screen with a selected pattern, INK and PAPER commands 
will instantly change p:iper/ink colours. POKE will 
poke numbers higher than 255 Into tv/o addresses 
automatically. 

There Is buint-in printer driver software by which 
a large printer may be used, making use of the LLIST. 
and LPRINT commands. This feature is accessed by the 
command: PRINT #4: OPEN #3,"lp". A drawback to this 
feature is that I found it impossible to control line 
length; if there is a control, I could not find it. As 
a consequence I found my printer putting out lines 
with 108 characters in them. 

Final Conclusions: An easy-to-use system which will 
greatly enhance the use of the TS2068. Highly 
recommended. 

Available from: Larken Electronics, R.R.#1, Navan, 
Ontario, Canada K4B 1H9 Price for interface board, 
cartridge board and drive connector cable: Can $145. 
(You will also need to purchase the disk drives and a 
power supply for them) 

The LKDOS Cartridge 

In addition to the Larken Disk system that Is 
reviewed above, there Is another Larken development 
that deserves mention. It is the LKDOS CARTRIDGE, 
which contains the Larken DOS and operates with two 
other Disk Controllers for the TS-2068. The LKDOS 
Cartridge plugs into the Cartridge Compartment of 
the TS-2068. When used with OLIGER SAFE Disk 
system, Board B of the Ollger system Is removed. 
Then the LKDOS cartridge utilizes the Ollger disk 
controller board as the controller. The result is a 
LARKEN DOS System that formats and reads disks In 
the Larken format, and has all of the Extensions to 
Basic as discribed in the above review. 

The LKDOS Cartridge can also be used with the 
AERCO FD-68 Disk Controller. The LKDOS uses a 
Separate EPROM for use with Ollger or Aerco disk 
controllers. The results are the same, a Larken 
DOS. When used with Aerco FD-68, the built In extra 
memory of Aerco Is used as "RAM DISK". This unique 
feature "formats" 40K banks of RAM as if the RAM 
were anther disk drive In the system. A 256K Aerco 
Ram is used as if It were four more disk drlvec, 
each having 4»K of storage. The Ram Disk Is 
somewhat faster operating than a disk drive, but of 
course, the data storage is gone when you turn off 
the computer. 

Before using the LKDOS cartridge with the Aerco 
FD-68, a small modification to the FD-68 Is required 
to add a switch. Details are given In the Larken 
documentation. No modification Is needed with the 
Ollger Safe Board A. Please refer to the article in 
this issue titled "The TS-2068 Disk Drive Systems" 
for more information about the use of the LKDOS 
cartridge. For further information write to Larken 
Electronics, address given In the above review, 

11 



Th« Lar'i 



an disk iyat.am tor thm Tl««x 2063 is fully Sp.ctr-ja 
I «nd «iao can b« U4|«<1 with Aro» or Lro« cartridg. roa« 
It supports *H tolc.n k«yvorda - CAT, ERASE , LOAD , SAVE , MESGE , 
OPEN* , CLOSE* and aiao GOTO and PRINT that w«r« lataadad to ba 
uaad with a .xtarnal aaaa atoraga davica. FORMAT and HOVE ara 
auppllad aa prograaa that run la raa. 

Tha way thaaa eoamanda ara lapllaantad by tha Larkan ayataa la 
to pracaad thaa with a Sand uar 100: 
as: RAND USR 100: CAT 
For aaaiar typing and a ahortar coaaand tha PRINT »*: eoaaand 
can b« uaad Inataad of Sand Uar 100:. To uaa PRINT »*: you auat 
firat Opan Channel 4 to tha dialtdriwa with - 
RAND OSH 100: OPEK t4,-dd- 
You can now pracaad all LXdoa and Ex-baaie eoaaanda with 
PRINT »*: ag: PRINT »*: tOAD "fllanaaa.ax' 

If tha Print eoaaand la uaad bafora it haa baan 

laltiallaad, arror 0 - Invalid Straaa will raault. 

IXDOS FIX a Haaas 

Tha only othar diffaranca batwaan 
atandard caaaatta eoaaand, la tha fila 
Lkdoa uaaa a file oaaa that contains i 
charactara followad by a two charactai 
aaparataa tha prograa naaa froa tha axtanaion. Tha first lattai 
of tha axtanaion talis tha dos what typa of flla It is . It auj 
b« an A,B or C 

'A' for Array 'B' for Baaic 'C for Coda 

Tha aaeond lattar of tha axtaadloa can ba any charaetar axapi 
If you ara saving a atrlag array, It auat ba a 
Tha axtaasioa auat ba two charactara long-. 

Tha only charaetar that can't ba uaad la a flla naaa la a 'T. 
Thia la uaad aa a 'wildcard' charaetar for uaa in CAT aaarehas. 
Seaa axaaplaa of fila aaaaa: 

"Progra. Bl" A Baaic prograa 

'sauA.Cx' A coda flla 

-Nuaa.AS* A String Array 

"Nuatars. Al' A Nuaarie Array 

SAVE COMMANDS 

Bafora you can aava your prograa* and data to tha disk, your 
disk auat b« foraattad. (Saa aactloa oa aatup and foraattlag) 
Any foraula or axpraaaion In a eoaaand can ba uaad. 

ag: PRINT SAVE *« (TO 6)*".CT- CODE Start , End-Start 
All variation* of caaaatta eoaaanda ara supportad. 



Lkdoa eoaaand and 



I ppograi 



- Basic 



prograa 



.ngth 



- Bytaa aava 

- Nuaarie Array 

- String Array 



additional 



PRINT #4: SAVE "Prog.Bl" 

: SAVE -Prog.Bl* LINE 100 
: SAVE 'Prog. CI* CODE start, 1^ 
: SAVE *Preg.Cl- SCREEN* 
: SAVE -prog.Al- DATA () 
: SAVE "Prog. A* * DATA *() 
Bafora aaviag aaka aura that tha wrlta protact aotch on tha 
disk la net eevarad by a protact atlekar and that tha disk is 
la tha drlva proparly vlth tha door eloaad. 

EXTENDED BASIC COMMANDS : 

Thasa eoaaanda eonaiat of mxtmndad. graphic 
and I/O davica Chaaaals and up to 3 acroHiag window: 
scraan In proportional spaced eharaetars. 142 to ovaj 

GRAPHIc'"cOM«ANDS: 

- PRINT »4: DRAW width,hairth, pattern (This 
box fill or clear eomajind that atarta at the last plot eoaaand 
that fills in tha aeleetad pattern (0 to 9 <or 10- user defined 
pattern that eenalata of 8 bytaa atartiag at addreaa 23S40) 

- PRINT #4: CIRCLE x,y, patters (Thia is a region filling 
eoaaand that fllla froa right to left, aelaeted blaaJc areas of 
the screen ta the patterns described above. It will fill a line 
until it fiada a set pixel) x,y seta the starting poa. 

- PRINT »*'. INK X tiaaediatly changes ink color on screen) 

- PRINT *4: PAPER x (iaaediatly changes paper color en screen) 

- PRINT »*: POKE a,b (this does a double poke for 16 bit 
auabers . b Can be 0 to 6S53S 

CHANNEL AND HINDOH COMMANDS : 

- PRINT #4: OPEN »n , 'device* This attaches a chann.l to a 
display device, (n can be channel 2 to 15 ) device can ba "wO*, 

(window 0 to 2) or *lp" (larg e printer 'aerco type 



IF' 



This 



- PRINT #4: CLOSE »n (n can be 2 to 15 . 
used for cloaeiag channels opened with the above < 
never use the Slnclar Close eoaaand (unprecaeded by Lkdoa 
switch) to elose a chaaaal epeaed by Ucdos) 

- PRINT »4: INPUT* (window) , top, left poa, right poa.bottoa poa 
This eoaaaad daflaas a vladows size, positioa aad color. 

-wiadow' is 0-2 , ether paraaeters are standard print positions 
io afaaoiute auabers (0 to 20or3l) EG: PRINT»4 : INP0T#1 ,0 , 10 ,20 ,3 

This would define window #1 to have its upper left corner at 
print pos 0,10 aad the window would be 10 units wide (20-10) 
The bottoa of the window would be at the 8th line, 
the screen colors that are being uaad when the wiadow is defined 
will atay with that window. 

- PRINT #4: CLEAR w This will clear the viadow (0-2) aad 
restore the priat poa to tha tep of the wiadew . It will also 
racaler the wiadow. 

Prof I 1 e of the Author 



Mr. George Chambers Is one of them "rotating 
officials", always Involved In the Toronto TSUG, and 
now the club Secretary. George contributes a 
regular column In "Sync Link" about the Larken Disk 
system and other subjects. If it can be done with 
Larken, George knows how to do It. We look forward 
to other articles and programs by George. 



Articles and Reviews 



January 1988 



TIME OtIGER TS~2(D6a SffkFE PISHC SYSTEM 



A Review By: 

Mr, John Ollger has now finished "phase 4" of 
the JLO SAFE DISK Operating System, which I have 
dubbed "SDOS", This review will attempt to give an 
overview of this versatile hardware and DOS. I 
believe that even the users of SAFE may glean some 
new Information. First, the hardware Is designed to 
the "SHUGHERT STANDARD" which means that It conforms 
to an existing standard for FORMAT and CONTROL of 
Double Density Soft Sector Disk Drives. Several 
types of drives are usable with this system 
Including; 5 1/4 Inch Half or Full height. Single or 
Double' Side format; 3" Disk Drives by Amdek, and 
some newer 3 1/2" disk drives. The key as to 
compatabi I Ity Is whether the drive Is "SHUGHERT 
STANDARD". 

The Ollger SAFE hardware consists of two 
circuit boards that fit up-right In the Ollger 
Expansion port. This expansion port has four slots 
and a extruding edge card connector to accommodate 
other add-on devices. It also contains a "RGB 
INTERFACE" to connect to a RGB Monitor, "BOARD A" 
of the system contains the heart of the disk 
interface, the Western Digital Controller chip 
WS-1770, and its Interface circuitry. "BOARD B" of 
the system contains 16K of extra memory. 8K Is a 
EPROM that contains the assembly code of the 
operating system, some new BASIC Language functions, 
and a Centronics Printer Driver Software, The other 
8K Is RAM that Is used for Instruction processing of 
the new Basic Language and the Disk Control Basic 
Commands. 

One should think of the Ollger Safe Disk System 
as the centerpiece of a larger system that Includes 
the Printer Interface, the D I sk Control I er. Extra 
Memory, Additions to the TS-2068 ROM, RGB Monitor 
Interface, and a "Control System" that Includes 
control of . the printer. Extra Memory, and the Disk 
Drive. The Extra Memory Board has not yet been 
released. "SDOS", the controlling software has been 
a on-going development since the SAFE DISK hardware 
was released during the winter months of 1986. Each 
stage of development was made available to the users 
In a Up-Dated EPROM. The latest EPROM carries the 
Identlcatlon of "V2-40", For the user to up-date 
his system Involves only the replacement of ihe 
EPROM that Is In use. 

As of now, the 8K EPROM Is almost completely 
filled with assembled code, and un less Mr. 01 1 ger 
decides to piggy back another EPROM, It appears that 



Bill Jones 

SDOS Is In a finished state. A table of the SDOS 
Language Syntax Is listed below. Note the 
simlllarlty to the regular TS-2068 Cassette 
Instructions for easy learning. Also note the 
brevity of the command syntax (fewer key strokes). 
Al I of those commands can be performed by Keyboard 
entry or from within program lines. Disk file 
"titles" can be concantated as, LET A$="Tltle", and 
then use A$ as a title within the disk command. Or, 
<LET A$=A$+STR$ 5> and the program title to SAVE or 
LOAD would be "TItleS", 

THE SDOS COMMAND SYNTAX 

FORI'IAT/"name" A diskette Is formatted to 
established parameters with title of "name". 

CAT Loads the disk directory to screen. CAT 
can be used with a Input statement to place a prompt 
on screen to Input a title to LOAD. 

MOVE/ Copies a diskette from current drive to 
the next drive In the system. 

MOVE/"tltle" and type TO n Moves a file named 
"title" to disk n. The type of file Is VAL, 
SCREENS, DATA, ABS, or If left out, a BASIC file Is 
assumed. 

SAVE/0 Saves a auto loading menu program. 
Then LOAD ENTER will load the file 0 program. 

' LOAD ENTER Loads a file 0 auto running menu 
program. 

SAYE/"name" Saves a BASIC program to disk. 

SAVE/"name"LINE n Saves a BASIC program which, 
when re-loaded will auto run at line n. 

LOAD/"name" Loads a BASIC program named 
"name". The programjauto runs If It was saved with a 
starting I Ine number. 

SAVE/"name"CODE ,adr,byts Saves a machine code 
table from memory address and byte length specified. 

LOAD/"name"CODE adr Loads a code program from 
disk to starting memory address specified. 

SAVE/"name"VAL Saves the TS-2068 Variable file 
to disk. 

LOAD/"name"VAL Loads a Variable file from disit 
to memory. 

SAYE/"name"SCREEN$ Saves the existing monitor 
screen to d Isk, 

LOAD/"name"SCREEN$ Loads a screen from disk 
and replaces the existing monitor screen. 

SAVE/"name"DATA x() Saves a dimensioned 
Numeric array to disk. 

LOAD/"name"DATA xO Loads a dimensioned 
Numeric array fromdisk. 

SAVE/"name"DATA x$() Saves a dimensioned 



12 



Character array to disk, 

LOAD/"name"DATA xS ( ) Loads a dimensioned 
character array from disk and assigns the data to 
"x$". 

SAVE/"name"ABS Saves the entire state of the 
computer as a BASIC program, including all vars and 
at I code. 

LOAD/"name"ABS" Loads the above State of the 
Computer BASIC program, 

COPY/ Copies the screen to printer. 

MERGE/"name" Merges a BASIC program and 

appends it to the existing BASIC program in memory. 
Variables of the MERGED program take priority. 

All of the above SAVE commands will check for a 
identical named program in disk and TOOT a warning 
if one exists, then pause 5 seconds to allow an 
abort, 

SAVE//"name" This variation by-passes the same 
name check and SAVES the program whether a same name 
exists or not, 

RESTORE/"old name" type TO "new name" Changes 
the name of a program in disk. 

RESTORE/s Re-initial Izes the SDOS system to 
TURN ON parameters, 

VERIFY/"name type" Checks file in disk and 
verifies accuracy of the file data, 

DISK DRIVE CONFIGURING COMMANDS 

LET/s=1 or2 Sets up to FORMAT a diskette for 
either single or double side read-write. 

LET/d=0-3 Changes active disk to disk number 
spec! f led , 

LET/t=10-250 Sets up to FORMAT a diskette to 
the number of tracks specified. Range Is 10 to 250, 
default value is 40. 

LET/h=0-5 Resets disk head step rate to 
accommodate a slower drive. Default value Is 0=6ms. 
l=12ms, 2=20ms. 3= 30ms. 

LET/p=o Selects the printer driver code 

software that is stashed in the EPROM to print with 
a Centronics printer, 

LET/p=t Deselects the Centronics printer and 
selects the TS-2040 printer. 

The NMI PUSH BUTTON FUNCTIONS 

ABS STATE SAVE via numbered keys. The title of 
the SAVE will be the number pressed, 

SCREENS SAVE via keys Q through T on same row 
of keyboard. The title will be the key pressed, 

COPY SCREEN to Centronics Printer via press of 
key Z. 

BREAK to BASIC via press of key C. 
. RETURN TO INTERRUPTED PROGRAM via the ENTER 
key. 

Holding the key "N" (for NEW) while pressing 



NMI button causes a system RESET to copyright 
d Isp lay. 

Holding keys 1 through 3 upon power-up selects 
the Disk Drive number to be active (instead of Drive 
number 0), 

JLO SAFE puts more data Into a diskette than 
does most other disk control systems, 405K as versus 
360K for a IBM system for example, A 80 track drive 
formats for 815K maximum. In addition SDOS is 
likely the fastest disk system in exi stance for data 
SAVE and LOAD to and from Disk, faster even than the 
IBM XT, Which brings up a point to discuss. Often 
the question arises; "Does It have Sequential File 
SAVE and Append?". The answer to that is, "No, such 
a group of functions are not needed, and would not 
be used If provided with this fast disk system". 

Opening and Appending a existing file in disk 
is a function created to mitigate the deficiencies 
of some computers. For example, the C-128 and some 
other computers limit string and character array 
content to 255 characters, too I Itt le to contai n 
paragraphs of textual data. The only way to SAVE 
textual data to disk with such computers Is to use 
counters to save the data In small "line length" 
groups to disk, and keep on OPENing the disk files 
to APPEND the text files as additional data is being 
generated. Each OPEN and APPEND action takes tens 
of seconds of time. With SDOS, we SAVE a Character 
array of data as large as 25K in three seconds flat-. 
If we want to APPEND It, we bring it back into 
memory (three seconds) and append it at will 

A review can never do justice In such limited 
space to a comprehensive system such as the SAFE 
DISK Controller and SDOS. The literature supplied 
with the system Is about 80 pages of type. How can 
that be boiled down to a couple of review pages? It 
can't, so one should realize that this review is 
just a "overview" of the system. The manual 
supplied is written for the kit builder and it goes 
Into much more detail than one normally would expect 
of a user manual, giving theory of operation, 
testing Instructions, and operating instructions. 
The manual Is an outstanding reference for both the 
builder and the the user who buys the system 
assembled and ready to use. 

COMPATABILITY WITH OTHER TS-2068 HARDWARE - 
SOFTWARE: Since the Safe Disk system is fully 
decoded and does not use the TS-2068 RAM. there is 




Articles and Reviews 



January 1988 



no hardware or software that this system 
conflicts with. Safe Disk operates with TS-2068, 
TS-2068 with Spectrum Switch, either in the TS-2068 
or the Spectrum Mode, and with the Zebra OS-64 
Cartridge. No software conflicts exist. 

OLIGER SAFE USED WITH THE LARKEN SKDOS 
CARTF^IDGE: Board A of the SAFE system is the disk 
controller. When Board B is removed, and the Larken 
SKDOS Cartridge is installed, the system becomes a 
LARKEN DOS. Then the diskettes are formatted to 
Larken format and diskettes recorded with Larken 
disk systems can be loaded and operated. See the 
review of the Larken Disk system in this Issue. 

OLIGER SAFE USED WITH THE SOFTWARE "SPDOS". 
This software on disk is supplied by Cuyahoga 
Valley Software Works, 615 School Ave,, Cuyahoga 
Falls, OH 44221. ($24.95 +$ 1 .50 postage) . The 
SPDOS Disk provides the RAMEX DISK OPERATING SYSTEM 
"in addition to the Ollger SDOS system". The two 
disk operating systems are combined to have almost 
all conceivable disk command functions. Moreover, 
when the SPDOS software Is loaded, diskettes 
prepared by a RAMEX DISK system will load and 
operate. The SPDOS Disk is highly recommended for 
all Oliger Safe users. 

FOR THOSE WHO WANT EVERYTHING, the Oliger Safe 
system, with Larken SKDOS Cartridge, and with the 
SPDOS Disk Software, gives the user three disk 
operating systems and the capability to use software 
formatted with Oliger Safe, Larken Disk, and RAMEX 
Disk. 

HARDWARE OPTIONS AND PRICING: The manual Is 
written for those who build the two circuit board 
projects. This is a very educational project and 
one can save a considerable amount of money by 
assembling the two boards. Also, one may purchase 
both boards fully assembled and ready to use. The 
building project manual Is a very detailed source of 
reference even for the non-builder. THE PRICING 
OPTIONS: Bare Circuit Boards with the SAFE 

EPR0M=S45.95. Kit of both circuit boards with ail 
parts=$97,95. Complete system Fully assembled and 
ready to use=$ 119.95 ($129.95 with the NMI Option). 
The Four Slot Expansion Buss: Bare board=S 1 1 .95, 
Board with parts=$43.95. Fully assembied=i54,95. 

If you are ever going to build a electronics 
project, then a Oliger Kit is what you should start 
with. His instructions are clear and easy to 
understand. The only equipment needed to build 
these projects is a small soldering pencil. However 
it will help to have a desk magnifying glass to 



better see the tiny circuit traces, and an ounce of 
Acetone with a soft toothbrush are needed to clean 
off the solder flux as the job progresses. The 
building time for both boards will be about 5-10 
hours, Mr, Oliger wont let you fall. For a nominal 
charge of $10.00 you can send him a completed board 
for check out and repair. So, if it doesn't work 
after you build It, that is your insurance. 

SOURCE: The Oliger Company, 11601 Whidbey 
Drive, Cumberland, IN 46229. Send SASE for product 
I ist. 



TS-2068 SUPPORTING PUBLICATIONS 

Changes at Syncware News: Tom Woods departs 
the scene, and Jeff Moore steps up from Editor to 
Publisher. Basil Wentworth, well known to most of 
us "timers" becomes Editor of Syncware News. Fred 
Nachbaur, the original founder and publisher, 
continues as Technical Advisor. Sounds like an 
enduring combo to me. Of Interest Is that Syncware 
News Is beginning to support the IBM Clone Users, a 
move that should enhance their subscriber base and 
advertising potential, Up-Date recommends that all 
TS-2068 users continue their subscriptions to 
Syncware News and encourage their efforts. Syncware 
News, 602 S. Mill St., Louisville, OH 44641. 
Subscriptions, $16.95 U.S. $19.95 Canada and 
Mexico. (1 year 6 issues). 

TIME DESIGNS and CTM MAGAZINE continues to be 
leader publications In support of Tlmex Sinclair 
Computers, Both are excellent publications, highly 
recommended by UP-DATE. Time Designs, 29722 Hult 
Road, Colton, OR 97017. Subscription $15.00 per 
year, six Issues. CTM Magazine, 1704 Sam Drive, 
Birmingham, AL 35235. Subscription $18.00 per year 
(U.S) $32.00 per year (Canada, Mexico), 12 issues, 

COMPUTER SHOPPER, a huge magazine, having a 
regular article series about Tlmex Sinclair, and a 
mammoth source of computer products advertisements. 
Computer Shopper, 5211 S. Washington Ave, PO Box F, 
TItusville, FL 32780. Subscription $21.00 per year 
(12 Issues), U.S. Subscriptions only. 




The Aerco FD~68 Disk System 



A Review by: Syd Wyncoop 



The FD-68 Is a disk system that has 
subscribed to the 'Theory of Evolution'. That Is 
to say that the FD-68 Is not a finished system and 
undergoes constant revision. However, Aerco has 
taken care to make sure that each update remains 
compatl bl e with previous versions. 

Some features of the FD-68 that I like are: 
** Accepts any mixture of 4 disk drives In 3", 3 
1/2", 5 1/4", or 8" sizes, which can be SSSD, 
SSDD, DSDD, or DSQD. ** Additional 64K of RAM 
memory addressed In the dock bank which Is 
expandable to 256K, *** Bullt-ln RGB interface, 
** Entire system is contained on one board of 
very good quality. The board Is uncased but has a 
backing on the solder side, *** The Operating 
system Is In a ROM and uses none of the 'normal' 
system RAM, Uses standard Sinclair Keyword 

commands, *** Uses standard disk file names and 
extensions, ** Does not use a channel number, so 
there are no conflicts with other device drivers, 
**** Runs all CP/M 2.2 programs, ** Can be 
purchased as a complete system or you can 
economize by puting together your own system. 

While the unfinished system has many unique 
enhancements, the process of evolution has created 
a few drawbacks. I feel that the biggest 
drawbacks are: ** The entire Basic variables area 
must be saved, as Individual arrays cannot be 
saved, ** The system is not compatl bl e w 1 th 
Spectrum programs, ** There Is limited directory 
space. The array probi em can be worked around 
rather easily, however, the Spectrum compatibility 
has been longed for by the users. The FD-68 will 
only recognize 32 program titles, at this time, I 
understand the directory space has been Increased 
however, I have not received my latest EPROM 
up-date. 

The real problem with the deficiencies Is the 

long delay between updates (Spectrum capatablllty 
was to be completed two weeks after the 5/87 
Sinclair Mini-fest), The updates are sent from 
Aerco in a new ROM. There is a small fee ($5,00 
for the last update I received) for this and the 
old ROM Is returned to Aerco to be recycled for 
the next update. Also, your ROM can be 
reprograrraned at any time. If you make changes In 
your system configuration. The Basic FD-68 system 
allows saving of Basic programs, binary memory 
images (code), the entire variables area (with or 
without a Basic program) and SCREENS' s. There Is 
also the capability of running an AROS program, 
from disk, in the dock bank! Provision has been 
made for the future addition of numeric arrays 
(.DAT), character arrays (.CHR) and LROS program 



(.LRO) extensions. 

There Is a special extension (.BUT) that 
allows entry Into a very nice Implementation of 
CP/M, called RP/M. CP/M provides an entirely new, 
to Sinclair users, operating system. There Is a 
wide range of public domain and commercial 
applications packages available to us under CP/M. 
More on this in future issues. If there is a 
request for It. Each disk can store one autostart 
program by naming It 'Boot.bas' which runs upon 
turning on the computer, with the disk In drive A. 
I usually place a program such as M-Scrlpt or Zeus 
on a disk as the boot program, I then use the 
rest of that disk for f I les that the Boot program 
uses. All of my general purpose disks have a 
special Boot program I wrote that sets -up the 
system variables to my taste, catalogs the disk 
and loads the files I Indicate, This has proven to 
be a very efficient procedure, 

I cannot say enough good things about the 
FD-68, I looked at the Ollger and Zebra systems 
when I was shopping for a disk system and I chose 
the Aerco for the above reasons, I feel that It 
provides the widest range of options (Though I 
must admit that I do like the Zebra tree 
structure). It Is a good value and a must have. 
I since looked at the Larken system. Larken has 
some unique features but, I am not convinced to 
change. In short, the Aerco FD-68 provides many 
unique features. 

Source: AERCO, PO-Box 18093, Austin, TX 
78760. Send SASE for literature and prices. 

Author Prof I I e 

Mr, Syd Wyncoop works with the J. 1. Case Co. 
of Portland, Oregon, manufacturing Farm and 
Construction Equipment (How unique! An American 
Manufacturer!). A Boy Scout leader, and member of 
the Executive Committee of St. Therese School, Syd 
Is Involved but finds time to teach Machine Code 
to the Portland SIG group and hold off Ice as 
Chairman of CCATS, one of the most active Timex 
User Groups. Syd bought his first computer, a 
TS-1000, to acquaint his two boys with computers. 
Then he had to teach himself in order to be the 
teacher. Now he is the Guru of the Portland area 
user groups. We UP-DATE' rs encourage Syd to 
continue covering the Aerco FD-68 and CP/M, as 
well as sharing his programs and Utilities, 
SALUTE! 



TIXEX TECHNICAL DATA 




Timx TECHSICAL DATA 



+5V 
f CS6 




eOMPOHENT SIDE jO p O _^ 

^ *1 ^ \ \ \ \ ^1 *1 ^1 "1 *i \ \ '^1 "1 °i 



TS tooo couTAnau tmimo k oiFreneNT) 



S itopfe ' 120pf1- w expansion 



DO NOT SCALE DRAWING 

OMN N PARSONS 



T-3 



OAII FEB 84 



TIMEX 



23. 

W0MX3 

13S3U 
IIVH 

Bt)«01 



r/jra' TECHNICAL DATA 



r-4 



IHI— RES FLPXir J iriE I 



DISCOVER ft tME:M r> I MEINJS I OIMflDDRESS: 



:20<£>0 COMF^LJ-r I IMC5 ! 



Just look at all o-f the "d1 ot-a-bit i ti es" i 

1520 is both a hi-res plotter AND a printer. 

1520 is compact-slightly larger than a 2040. 

High quality ALPS made platter (nechanism. 

4 color plotting; black, blue, green, & red. 

4 character sizes: 10, 20, 40, and 80 c.p.l. 

16 selectable dashed line sizes. 

90 degree character rotation possible. 

479 "x" step / +-998 "y" step plotting area. 

Extra paper & pens avail, at RADIO SHACK. 

Quality PC board with plate-through holes, 

"LPRINT" commands control plotter functions. 

Expanding variety a-f software -for the I/F. 

1520 available 8 TOYS-R-US stores for «29.95. 

Write -for more in-fomation and sample plot. 



QUflHIlTY 


DESCRIPTION 


PRICE EACH 


TOTflL 




iirt Board i/cissette 


Ml. 75 ppd 






Coiplfte Kit »/ci5sette 


IZ0.95 ppd 






Asseiiilid/tcsted n/cass. 


I30.95 ppd 






Keyed Edqe Connector-If 
purctijsfd Kith hirdnare 


$4.75 ppd 






SCREEN-IO-PLDTTER util. 


t8.92 ppd 






PIC-PLOT utility 


$8.95 ppd 






BAWOIFIC utility 


»8.?5 ppd 




1 srt/order 


ens/ 1320 patch kit 
COLORED REPLACEMENT PENS 


18.95 ppd 
t2.00 ppd 




TOTAL ENCLOSED)) 

ccun Ai 1 nancBC rn. 





John Hcmchael, 1710 Palier Or., Larui«, UY 82070 



HHER& BQUER5 PROUDLY PRESEhTSH 

r 



Based on a Popular TU Game fkm 



STARRING LOUELY HI55 BRNNfl BRITE 
The Ultimate Uord Game. 



The all new MONE'y MACHINE IX 
r-1 e uj theme!! 

Fantastic Family Fun!! 

••BtHNNR" turning the Letters 
Hundreds of NEU PuzzLes- 
Solo or 2 or 3 P L a y e r s 



H L L t. h i ^ for only 
T/S 2068 jfc.i j-s.-S 
Cassette IplCiUU (US) 
I ri I. u d e s Po £ t a g e - V i a 1st Class 



HERB BOUER5, Sr - 
25SS Uoodshire Circle 
Chesapeake, Ufl 23323 
Phone: S04. 4.S7-5924- 



SSOFTE ________ 

H-;3'f;'H i ficcufdtt: fiDsiness, umtmrn and ficcounting y'tumt 



Don't Fi is Yuyr 196? 



LJ M"T" X L_ 



ouiK-idio , 

INCLUDES: Form 1040: 104.0fl i: EZ , 
5ch, P., B & P * Forms 2106,: 2441 
Hutomatic CaLcLflation .incom£_iax 
Liability, Chi Id Care Credit 
able Social Security: Earned in- 
come Credit ^Multiple i-i-2 & 1099 

Fntru » 2040 Compatible ^ More 

tiPi muil irmiftf to all Official IntfernBl gKUfeno^ r^m ± 



Only 429 ^ 50 



iafi. Si D€lii!i;rM 



Janyary 5, ISSS ^mu ?iLL rtcdMs a^=g^ ^if chsrae "THE ofm 
Tfis Lhm an.i viiii", jhi: pr-M=aM ha: han rtnits in TIHE ntjisiis, 

sr==j i: kiny iis^.i all mt\ the iinite.j 5tBte3= IsHEDIhTE jHiPMEni 
O F? if !?■■!] haut alrta.i!4 purchastd "THE Ofm thx lhI" fr-is 
^mu Mau deduct i7,m frns the piirchase price shich ¥ill aiue m^u 

5 fUU Cr^jjt f^j th r nf iqiliSi. !>i|rC hti^^> 

G i_J « w r-4"T" ^ ^ : If qoy -ujt dsm Sfi'i fine 

r penaltu as a SigECT KSET cf iisifK! "l|»IK-iB40". I *ill psm 




UP-DATE ISSUE DISKETTES 



The software and utilities presented In each Issue of UP-DATE are consolodated and offered on 
disk. These are all NEW programs having a combined value of at least $50.00. The authors of the 
titles share In the sales proceeds of the Issue Diskette. As you add these useful programs to your 
library you are supporting your Up-Date magazine and the authors who bring you these useful 
programs. 

Disk System Support: By the time you read this UP-DATE should have support capability for 
LARKEN, AERCO FD-68, RAMEX, and 0LI6ER SAFE, disk systems. Disk Drive support Includes; 3" Amdlsk, 
5 1/4" DS/DD 40 or 80 track, and 5 1/4" SS/DD 40 track. Due to high cost and scarcity, orders for 
3" Affldlsk programs must be accompanied by a 3" diskette for dubbing. 



JANUARY 88 DISKETTE 



OCTOBER 87 DISKETTE 



The January disk contains: MTERM 
DATA CAPTURE, by George Chambers: 
DOSOEX File Indexer, by Bob Hart ung: 
PURITY, by Up-DATE: LIST LOOKER, by 
Up-DQte: EXTRA MEMORY UTILITIES, by 
Up-Date. PRICE: $19.00 postpaid. 



The October 87 disk contains: MAIL 
MERGE, by Up-Oate: J-lfTILITIES, by 
Up-DATE: A Menagerl e of 20 Sound and 
Visual utilities: A Group of 

Programming Tips. Mall Merge Is a major 
software. PRICE $16.00 postpaid. 



Special offer: Get both 
through UP-DATE, address on cover. 



January and October Issue Diskettes for $32.00 postpaid. 



Order 



» * 
Smart Text Disk 

The Smart Text programs are being 
prepalred In LARKEN, AERCO FD-68, and 
RAMEX, disk formats. Disk drive formats 
are: 3" Amdlsk, 5 1/4" DS/DD 40 or 80 
Track, or 5 1/4" SS/DD 40 Track. Due fo 
the o(»t and scarcity of 3" diskettes, 
orders for 3" disk must be accompanied 
by two 3" diskettes for dubbing. Each 
diskette has an additional software for 
use with the Zebra OS-64 cartridge for 
64 column display. Standard price for 
ail Is $26.00 (postpaid US and Canada). 
Order through UP-DATE. Satisfaction 
Guaranteed. 



Smart Text Cassette 

The Cassette version of Smart Text 
has many of the airtomatic data 
processing and printing functions of the 
disk drive software, and it includes the 
program for use with the Zebra OS-64 
Cartridge. This software Is available 
only for use with Aer<x> or Ollger 
Centron I cs Para Mel I nterf ace. As 
progranmed, ST works with EPSON 
compatable printers. Program line 
changes are required for others. 80 
page manual includes Instructions. The 
TS-2040 printer Is also supported. 
Price $26.00 (Pbstpaid). Order through 
» IF-DATE. Satisfaction Guaranteed. » 



Continued from preceeding page. 



vs«r=VoUage standing vave ratio 

vtYm=Vacuuin tube volt neter 

VU=Voluiiie unit 

wb=yide band 

wdg=Winding 

tfhdiii=lilatt hour aeter 

w!n=Uatt[iieter 

wv=yorking voltage 

)(=Reactance 

'i(l=InductiYe Reactance 
2a=Zero adjusted, \ 



vt*Vacuua tube 

VQX=Voice operated Iransnitter keyer 
w=Uide 

«d=yatt denand aeler 
wg=yaveguide! vire gage 
«I=yavelenglh 
«rg=liliring 
tfv=yire wound 
Xc=CapacitiYe reactance 
y=Adi»ittance 
Z=Ii8pedance; Zone 



SEMICONDUCTOR 

The following abbreviations h; 
semiconductor devices. 

a— Alpha. Cpmmon-base short-circuit 
current gain 

B, b— Base electrode for units employing 
a single base 

bi, b2. etc.— Base electrodes for more 

than one base 
B — Beta. Common-emitter short-circuit 

current gain 
BVr— Breakdown voltage, reverse 

C, c— Collector electrode 

Ceb— Interterminal capacitance, collec- 
tor-to-base 

C„— -Interterminal capacitance, collec- 
tor-to-emitter 

d, — Drain-source capacitance, with 
gate connected to the guard terminal of 
a three-terminal bridge 

CiM, — Open-circuit drain-source capaci- 
tance 

Cju — Drain-substrate capacitance, with 
gate and source connected to the guard 
terminal of a three-terminal bridge 

C.b — Interterminal capacitance, emit- 
ter-to-base 

C,do— Open-circuit gate-drain capaci- 
tance 

Cnp— Open-circuit gate-source capaci- 
tance 

C„„— Open-circuit input capacitance 

(common base) 
Cjb,— Short-circuit input capacitance 

(common base) 
Cieo — Open-circuit input capacitance 

(common emitter) 
Ci„— Short-circuit input capacitance 

(common emitter) 
C. — Gate-source capacitance, with 

drain short-circuited to source 
C,^— Open-circuit output capacitance 

(common base) 
Cb.— Short-circuit output capacitance 

(common base) 
Co<u— Short-circuit output capacitance 

(gate-drain short-circuited to ac) 



ABBREVIATIONS 

ave been adopted for use with 

— Open-circuit output capacitance 
(common emitter) 

Co*.— Short-circuit output capacitance 
(common emitter) 

Co.,— Drain-source capacitance, with 
gate short-circuited to source 

Crb.— Short-circuit reverse transfer ca- 
pacitance (common base) 

Cr«— Short-circuit reverse transfer ca- 
pacitance (common collector) 

Ct«— Short-circuit reverse transfer ca- 
pacitance (common emitter) 

Drain-gate capacitance, with the 

source connected to the guard terminal 
of a three-terminal bridge 

D — Duty cycle 

d — Damping coefficient 

E, e — Emitter electrode 

fhn,— Small-signal, short-circuit, 
forward-current, transfer-ratio cutoff 
frequency (common base) 

fh,c— Small-signal, short-circuit, 
forward-current, transfer-ratio cutoff 
frequency (common collector) 

fh,.— Small-signal, short-circuit, 
forward-current, transfer-ratio cutoff 
frequency (common emitter) 

fmAi— Maximum frequency of oscillation 
— ^Transition frequency 

— Static transconductance (common 
base) 

Small-signal transconductance 

(common base) 

gy^Q Static transconducUnce (common 

collector) 

g„c— Small-signal transconductance 

(common collector) 
gjjg Static transconducUnce (common 

emitter) 

g„,— Small-signal transconductance 

(common emitter) 
Ge — Germanium 

GpB— -Large-signal average power gain 
(common base) 



Gpb— Small-signal average power gain 

(common base) 
Gpc— Large-signal average power gain 

(common collector) 
Gpc— Small-signal average power gain 

(common collector) 
(JpE— Large-signal average power gain 

(common emitter) 
Gp,— Small-signal average power gain 

(common emitter) 
Gpr— Small-signal insertion power gain, 

common gate 
Gp,— Small-signal insertion power gain, 

common source 
Gtb — Large-signal transducer power 

gain (common base) 
Gu, — Small-signal transducer power gain 

(common base) 
Gtc — Large-signal transducer power 

gain (common collector) 
Gu— Small-signal transducer power gain 

(common collector) 
Gte— Large-signal transducer power 

gain (common emitter) 
Gu — Small-signal transducer power gain 

(common emitter) 
G„— Small-signal transducer power 

gain, common gate 
G„ — Small-signal transducer power 

gain, common source 
hrs— SUtic value of the forward-current 

transfer ratio (common base) 
hfb— Small-signal, short-circuit, 

forward-current transfer ratio (com- 
mon base) 
Hpc— Static value of the forward-current 

transfer ratio (common collector) 
hfc— Small-signal, short-circuit, 

forward-current transfer ratio (com- 
mon collector) 
hj-E — Static value of the forward-current 

transfer ratio (common emitter) 
hf,— Small-signal, short-circuit, 

forward-current transfer ratio (com- 
mon emitter) 
hrEL— Inherent large-signal, forward- 
current transfer ratio 
hiB — Static value of the input resistance 

(common base) 

Continued on next page. 



Z-3 



Continued froi preceeding page 



hib — Small-signal value of short-circuit 
input impedance (common base) 

hic — Static value of the input resistance 
(common collector) 

hit — Small-signal value of short-circuit 
input impedance (common collector) 

h,g— -Static value of the input resistance 
(common emitter) 

h,.— Small-signal value of short-circuit 
input impedance (common emitter) 

h,, (real)— Real part of small-signal 
value of short-circuit input impedance 
(common emitter) 

hoB — Static value of open-circuit output 
conductance (common base) 
— Small-signal value of open-circuit 
output admittance (common base) 

hoc — Static value of open-circuit output 
conductance (common collector) 
— Small-signal value of open-circuit 
output admittance (common collector) 

hoE— Static value of open-circuit output 
conductance (common emitter) 

h«,— Small-signal value of open-circuit 
output admittance (common emitter) 

hrt— Small-signal value of open-circuit, 
reverse-voltage transfer ratio (com- 
mon base) 

h„ — Small-signal value of open-circ\iit, 
reverse-voltage transfer ratio (com- 
mon collector) 

h„— Small-signal value of open-circuit, 
reverse-voltage transfer ratio (com- 
mon emitter) 

I, i— Intrinsic region of a device (where 
neither holes nor electrons predomi- 
nate) 

Ig — Base current (dc) 
lb — Base current (rms) 
ia— Base current (instantaneous) 
Ibo— Breakover current, direct 
Ic — Collector current (dc) 
Ic— Collector current (rms) 
i<; — Collector current (instantaneous) 
1^30 — Current cutoff current (dc), emit- 
ter open 

I^j.Q — Collector cutoff current (dc), base 
open 

I^j.R_Collector cutoff current (dc), with 
specified resistance between base and 
emitter. 

1^-5.3 — Collector cutoff current (dc), with 
base short-circuited to emitter 

— Collector cutoff current with spec- 
ified voltage between base and emitter 
Collector current (dc), with speci- 
fied circuit between base and emitter 

l^Q__Collector leakage current (cutoff 
current). 

Id — Drain current (dc) 

I(,(^ff,_Drain cutoff current 

logR^Drain current, (external) gate- 
source resistance specified 

Iogg_Drain current, zero gate voltage 

Iog3(_Drain current, gate-source condi- 
tion specified 



Ie — Emitter current (dc) 
U — Emitter current (rms) 
Ie— Emitter current (instantaneous) 
Iebo — Emitter cutoff current (dc), col- 
lector open 
lEC(of.) — Emitter-collector offset cxirrent 
lgcg_Emitter cutoff current (dc), base 

short-circuited to collector 
lg,j.j_Emitter cutoff current (double- 
emitter transistors) 
If — Forward current (dc) 
I, — Forward current, alternating compo- 
nent 

i^, — Forward current (instantaneous) 
I —Forward current, dc value with 

alternating component 
— Forward gate current (direct) 
IpQ^—Peak forward gate current 
Ip^_Forward current, peak total value 
I f.,ov)— Forward current, overload 
Ip.(j„_Forward current, peak repetitive 
Ipg„_Forward current, peak surge 
Ic — Gate current, dc 
IcF — Forward gate current 
IcR— Reverse gate current 
Ih— Holding current, direct 
Ii— Infection-point current 
Iq — Average output rectified current 
I^y—Overload on-sUte current 
Ip — Peak-point current (double-base 

transistor) 
I„ — Reverse current (dc) 
Ir— Alternating component of reverse 

current (rms value) 
Ir— Reverse current (instantaneous) 
iwREo— Reverse recovery current 
Irrm— Peak reverse current, repetitive 
Ircrms)— Reverse current, total rms 

value 
Ig — Source current 

Igjjg—Source current, zero gate voltage 
Igj33f_Source current, gate-drain condi- 
tion specified 

Peak on-state current, repetitive 
I„„_On-state current surge (nonrepet- 
itive) 

lu — Substate current 

Iv — Valley-point current (double-base 
transistor) 

Iz — Regulator current, reference cur- 
rent (dc) 

— ^Regulator current, reference cur- 
rent (dc near breakdown knee) 

l2j,_Regulator current, reference cur- 
rent (dc maximum rated current) 

Ko— Thermal derating factor 

Le — Conversion loss 

M — Figure of merit 

N, n— Region of a device where electrons 
are the majority carriers 

NF— Noise figure 

NF^— Overall noise figure 

NRo — Output noise ratio 

P, p — Region of a device where holes are 
the majority carriers 



Pbe — ^ToUl power input (dc or average) 

to the base electrode vnth respect to 

the emitter electrode 
Pbe — Total power input (instantaneous) 

to the base electrode with respect to 

the emitter electrode 
p^,g__Total power input (dc or averge) to 

the collector electrode with respect to 

the base electrode 
PcB — ^Total power input (instantaneous) 

to the collector electrode with respect 

to the base electrode 
PcE — ^Total power input (dc or average) 

to the collector electrode with respect 

to the emitter electrode 
p^jg — Total power input (instantaneous) 

to the collector electrode with respect 

to the emitter electrode 
Ppg — Drain-source power dissipation 
PgB — ^Total power input (dc or average) 

to the enutter electrode with respect to 

the base electrode 
pgg—Total power input (instantaneous) 

to the emitter electrode with respect to 

the base electrode 
Pj — Forward power loss (dc) 
Pi — Forward power loss (instantaneous) 
Pj.„ — Forward power loss, total peak 

value 

PiB — ^Large-signal input power (common 
base) 

Pib— Small-signal input power (common 
base) 

Pic— Large-signal input power (common 
collector) 

P,c — Small-signal input power (common 
collector) 

Pjj; — Large-signal input power (common 
emitter) 

Pu — Small-signal input power (common 
emitter) 

Po3-_Large-8ignal output power (com- 
mon base) 

P„b— Small-signal output power (com- 
mon base) 

— Large-signal output power (com- 
mon collector) 

Poc — Small-signal output power (com- 
mon collector) 

pQg — Large-signal output power (com- 
mon emitter) 

Po,— Small-signal output power (com- 
mon emitter) 

Pr — ^Reverse power loss 

Pr — Reverse power loss (instantaneous) 

PsM— Surge nonrepetitive power 

p,j — ^Total power input (dc or average) to 
all electrodes 

Pi — ^Total power input (instantaneous) to 
all electrodes 

Q,— Recovered charge (stored charge) 

Rb— External base resistance 

rRB— Resistance between two bases, 
emitter zero (double-base transistor) 

r^'Ce — Collector-base time constant 

Continued on next page. 



Z-4 



Tel ecomputi n 

MTERM II 

Modifications for the LARKEN DD System 
by G. Chambers 
14 Ri chore Court 
Scarborough. Ont MIK 2Y1 CANADA 

When I started to put MTERM II onto the LARKEN 
system I had some ideas of what I wanted to do. 
Primarily I wanted to be able to make disk saves of 
the buffer at any time while on-line. I soon found 
that as MTERM was constituted, this was impractical. 
MTERM as presently constituted cleared out any BASIC 
program and variables that were initial- ly present. 
Thus my idea of having a BASIC program ready to 
perform the disk-save immediately upon an exit from 
MTERM was not possible. I have overcome this by a few 
judicious POKES into MTERM, plus some unique Ideas in 
a companion BASIC program. The following notes 
describe the changes and their purpose. 

I found that one of the first things that MTERM 
does upon initialisation is to look at the system 
variables VARS and PROG. It uses these values to clear 
out the BASIC program and variables, also to help in 
determining the ongoing buffer status. 

Bytes which do this are located at 54035/37, 
54043/45, and 61165/66. I modified the program by 
POKEing new values Into several MTERM addresses, as 
follows. 

54034,33: 54035,12: 54036,123 

54043,33: 54044,12: 54045,123 

54523 to 54537, POKE all zero's in these addresses. 

The first six POKEs cause MTERM to set the start of 
the buffer space. This figure could be set anywhere; 
it Is simply a trade-off between buffer size and BASIC 
program size. Initially, I considered having MTERM 
look at the system variable E-LINE, however I found 
that this became corrupted whenever I entered a direct 
command. I fastened on an arbitrary value of 31500 
since I felt that with a disk-save routine in place, 
maximizing buffer space was less important than haying 
sufficient space for the BASIC program. This sizing 
will allow a LARKEN-modified LOADER V to be used. 

I found that with this, even though the BASIC 
remained untouched, the program variables were being 
wiped out. Looking around, I found a block of MTERM 
code (54523/54537) that appeared to do this. I simply 
wiped it out with no apparent 111 -effect. 

Addresses 51164/65 store the used/free buffer 
status. They are loaded with the values found in 
addresses 54044/45 (i.e. the starting address of the 
buffer) at initialisation, and are incremented as the 
buffer fills. I have made use of this in LINE 22 of 
the BASIC program to determine the size of the block 
of data to be saved. 



January 1988 



These addresses 61164/65 can be useful in another 
way. If, for example, you inadvertently erase the 
buffer while in the Buffer Menu mode It is possible to 
restore it. Option 4 in the menu allows you to insert 
an arbitrary buffer length. This will change the 
"buffer used/free" pointer in MTERM so that one can 
view and/or save the buffer. 

These addresses 61164/65 can be useful in another 
way. If, for example, you inadvertently erase the 
buffer while in the Buffer Menu mode it is possible to 
restore it by POKEing address 61165 with a value 
between 124 and 211. The buffer itself has not been 
erased, simply the pointer, and this POKE creates an 
arbitrarily-sized buffer. 

There a number of features about the program which 
are worthy of explanation. LINE 100 contains POKEs to 
addresses 23662/63. It's purpose is this. Usually, if 
you execute a RAND USR from a BASIC program and 
return, the BASIC program will continue from where yoU 
left it. However with MTERM this is not the case. You 
wilVcome out to an OK report at the bottom of the 
screen. I was unable to find the MTERM code which 
caused this. Falling that, I solved the dilemma by 
POKEing a number into the system variable OLDPPC 
(address 23662/63) corresponding to the LINE number 
where I wish to continue in the BASIC program. Then, 
when I exit from MTERM it is simply necessary to press 
the C key (CONT), and the ENTER key, to find myself 
back into the running BASIC program at the spot where 
I want to be. 

The BASIC has a couple of other things about it 
which are of interest. If one accesses MTERM by a RANP 
USR 54016 the program is reinitalized with the buffer 
set as cleared. However, if It is desired to re-enter 
MTERM without disturbing the state of the buffer then 
one can use RAND USR 54089. This option has been 
included In the BASIC at LINES 30 and 32. 

There probably will be occasions when several 
successive buffer SAVES will be required during the 
same download. The BASIC contains an arrangerent 
whereby the name of the saved buffer remains the same 
while it's suffix is incremented. Where the initial 
SAVE has a suffix of "Ca", the suffix in subsequent 
SAVES will be Incremented as "Cb% "Cc", etc. 

Although we have shown an original BASIC program 
here for use with MTERM there Is every reasdn to imbecJ 
these program ideas into LOADER IV or LOADER V. They 
will work there in the same way, and provide for the 
additional features of these programs. 

Also, even without a disk system, these features may 
prove to have some merit, and are worth considering. 



Telecomputing 



January 1988 



In adapting this program you will have to watch 
carefully when you tamper with the makeup of LINES 20 
21, 32, and 100, What you are trying to do Is direct 
the return of the computer to the appropriate line anrf 
statement number, and this can be tricky. 
Note that the program Is designed to be used In the 
LARKEN AUTOSTART mode. That 1s, you should save It to 
disk with a GOTO 3. 



0>REM Modified MTERM II for 
the LARKEN disk system 
by G, Chambers 

2 GO TO VAL "9" 

4 CLEAR VAL "31499»»: RANDOMIZ 
E USR VAL "102»» 

B CLEAR VAL "54015": RANDOMIZ 
E USR VAL "100": OPEN #4,"dd" 

7 PRINT #4: LOAD "mterm2.C1"C 

ODE 

9 LET g$="buffer" 
10 LET g=:VAL "150": LET q=VAL 
"97": LET f=VAL "20": LET o=NOT 

PI: LET i=PI/PI: BORDER o: PAP 
ER o: INK VAL "7": CLS : PRINT 
TAB VAL "10";"MTERM II"«»"TAB 
PI'i!PI;"MAIN MENU: "»♦» TAB PI+PI; 
"D RUN MTERM" "TAB PI+PI; "2) L 
DAD BUFFER"* » TAB PI+PI; "3) NAME 

A BUFFER FILE"»»TAB PI+PI ;"4) 
RESTORE BUFFER"* »TAB PI+PI;"5) 
SCAN DISK FILE":: GO SUB VAL "1 
3": IF LEN z$<>i OR z$<"1" OR z 
$>"5" THEN RUN 

12 GO TO VAL z$*f 

13 INPUT "Your Choice? "; LINE 
z$: RETURN 

20 GO SUB g: RANDOMIZE USR VAL 
"54016" 

21 CLS : CLS : LET q$=CHR$ q: 
PRINT AT VAL "10", NOT PI j "Save 
buffer to disl<?(Y/N)"' »"File Na 
me is "; FLASH PI/PI ; g$+".C"+q£ 
: FLASH o: PAUSE o: IF INKEY$=" 
n" OR INKEY$="N" THEN GO TO VA 
L "24«» 

22 LET n=PEEK VAL "61164"+VAL 
"256"«PEEK VAL "61165"-VAL "315 

00»' 

23 LET qS=CHR$ q: LET q=q+PI/P 
I: PRINT #4: SAVE g$+" .C"+q$COD 
E VAL "31500", n 

24 IF INKEY$<>"" THEN GO TO V 
AL "24" 



25 CLS : PRINT AT VAL "10", NOT 
PI; "Press ENTER if you wish to 
clear the buf f er" ' "Otherw 
ise press any other key": PAUSE 
o 

30 IF CODE INKEY$=VAL "13" THE 
N GO TO VAL "20" 

32 GO SUB g: RANDOMIZE USR VAL 
"54089" 

40 CLS : PRINT TAB 9;"LARKEN/M 
TERM II"» '"Insert disk con 
taining program to be loaded S. 

press a key": PAUSE a: CLS : P 
R1.\'T #4: CAT "", : PRINT ""Full 
name of File (9 charS ) : ";: IN 
PUT "Filename? "; LINE n$ 

44 PRINT #4: LOAD nSCODE VAL " 
31500" 

48 INPUT "Enter the file lengt 
h"»" (approx. if not known)";!: 
LET 1=1+VAL "31500": IF 1>VAL 
"53966" THEN LET 1=VAL "53966" 

50 POKE VAL "611B4",1-25B*CINT 
(1/256)): POKE VAL "61 165", INT 
(1/256) 

55 CLS : GO TO VAL "32" 

60 CLS : INPUT "Buffer Name (6 
Chars) ";g$: GO TO VAL "10" 

80 IF Z$="4" THEN GO TO 48 
100 CLS : PRINT AT VAL "17", NOT 
PI; "Enter full Disk File Name 
": INPUT g$ 
110 PRINT #4: PRINT g$ 
115 GO TO 10 

150 POKE VAL "23662", VAL "21": 
POKE VAL "23663", NOT PI: RETURN 

COMMENTS: An old "ZX'er can readily recognize 
another by his programming style whi ch minimizes 
byte waste. <LEr i=PI/PI> saves four bytes of 
memory as opposed to <LETi=1>. George Chambers 
started computing with a ZX-80 bacl< in 1981, 
graduated to a ZX-81, and then to his TS-2068. He 
chartered the Toronto Timex Club in 1982 and has 
served in an executive role since. He fs retired 
from the engineering dept of Bell Canada, a Cub 
Scout Leader, and a vol enteer worker for the 
National Institute for the Blind. About the 
program: I have tried for a year to cut into MTERM 
II and make it dump data to disk. Now George has 
dude it where I failed. SALUTE! and Thanks George! 
Now you Oliger or Aerco users: The line numbers to 
edit and change to your disk syntax are: 6, 7, 27, 
40, 44, and 100. Also, <RANDOMIZE USR 100> and 
<PRINT '#4> are LARKEN SYNTTAX and each use must be 
deleted for other disk systems or cassette. (Ed.) 




TS~2068 UP-DATE 
1317 Stratford Ave, Panama City, FL 32404 
<904 871 4513) 



CO^WUN I GATING WITH COMPUTERS 



Progress wl H be. the break through during this decade. 



EDUCATION & REFERENCE 
(GO REFERENCE) 



CompuServe provides educational 
all ages and educators at all levels. 



for students of 



For Professionals 

Access a variety of curriculum planning resources. Consult proSies 
of publishers of specialized educational materials. Join other 
educators in specialized Forums 



Reference and Research Tools 

Enjoy instant access to an electronic version of Grolier's Acadeuac : 
American Encyclopedia. Plus, CompuServe's IQuest lets you adjess 
nearly 700 other databases from business* commerce,: industry and 
academia. College Press Service keeps you current with EducaSon 
News Sendees. 



Career Planning and Guidance 

The College Board and Peterson's College Databases help choose ; 
a college, prepare for the SAT, plan an adult student's retum to 
academia, and evaluate strategies for securing financial aid. 

Support Services For Special Education 

A resource for those with handicaps, as well as those who assists, 
train, educate or employ the learning disabled and the vision, r 
hearing or mobility impaired 



Computer, Telecom Gear Makers 










Countries 




PROJECTED REVENUES 
U.S. COMPUTER, BUSINESS 
AND TELECOMMUNICATIONS 








EQUIPMENT INDUSTRY 

($ 8i«on»): V :' 




t?oiMoprn"ar!hMr»^ 
aKreement «ith France Tele- 


fcmwth rule of 9 'Z percent fitr 






^'^hra"?rfU«U<t» KsdTii 
Mareniii lCPRMU under 




Equrpment nicstions ToW 
,986 leaSS 174.92 3SeS7 
1987 198 20 186.00 38420 




■ uld* to" iik Brilhlhi Trnri^^^^^ 
and IVirtUKal. 

: al ia'^alrarlcetiiiiivehiiire by the 




1988 217.<< ' 200.98 41442 

1989 240 40 213.41 4SM1 

1990 » 258 69 223.83 48652 




Oirectorate Ueneral ofTelecom- 
operatinie orxanixation. 




1991 281.82 237.22 StSS* 
1996' 443.37 311.48 7S*SS 




Where ini Go 


tlisrwilion in l9sir"Re»- 
enues are "^^^^^^ ff"" *>y 


Source: Computer i BusioeM |c^JlprTwol _ 




Lisbon" Po«UHrThr''d"r«l 
England-France cable will be a 


I. from tlss "ihilVrnt m 1 SW7 
ia »2I7.4 billion in IjIRH. An 
ntimntfd inalmr in telrcnm 
munic«tiona indimtry revrnueii 
from flM billion lhi> y«>r to 

""-n.^'fbture''Ttlie ciimpi.trr 


,h,n in populotion demogro- October .toclt miirkrt CT»h U,l 

TutMniitiair'anT <^inln!n"uw m "stimatedTm.rblKm^th^ 
bifth rates of rml ptmth exper- ywr 111 J t2».T billion » I9»7. i 
tenord in the pn.<" U added / BevMiw frem,;!^ 

The predictinni. are baaed on Mrvicee are ejpected » in- 
tr,.nd» thnl e«i»ted before the crease ta $53 3 billion 


l^'SorrM^I^'»wt""ucli'link..l 

f(ul will lie a repeatere,! ayatem 

Mbtt/a per fiber pair, one of the 
lareest-cnpacty submarine 
links in service. 



Cable Will 
Hook Up 3 



FINANCIAL TRANSACTION SERVICES 
(GO BANKING) 

Forward-thinking full service banks and brokers use 
CompuServe as an electronic gateway for out-of-town or 
out-of-state customers, local depositors, and investors. 
These services cater to consumers who prefer to serve 
themselves, electronically. No lines. No crowds. No traffic. 
No distractions. 



Banking 

•BSril<^?aiCGroSs''th^ country offer online financial and information 
';ssr^it^SlSii|vh6^^^ and businesses can review transactions, 

ti^hi^fefrftind^y: fiay bills, compare current interest rates and even 
exchange electronic mail with bank officers. Millions of people will 
do their banking thiS:,way::iri:(the;}futljre.:»IYiei^5^^ 
effective control ovefSfj^irsdnal::: fiiiaii(i^^:iS£tv65tiiM6^^^^ 
advantage of importaht''nevv,:t6(Slrihd(cg^ Be;crt^;'df fttiiSsfii^gtSfe 
in an all new way. 

Quieic & Reilly 

, Quick Way brokerage sen/ices from Quick & Reiily Inc., the nations 
third largest discount brokerage, include: online purchase and saie 
of securities, twenty-four hours a day. current stock and option 
prices, portfolio management and automatic tax record keeping. 
Transactions are executed immediately when enterea during 
business hours and at the start of the nexi business day when 
entered evenings and on weekends. 

IMax Ule 

Tickerscreen is a financial information sen/ice of the discount 
brokerage Max Ule & Co. It offers closing NYSE prices, commission 
comparisons, and direct order entry of buy and sell orders for 
clients of Max Ule. 



Unified Maniagement Corporation 

Liquid Green is a family of no-load mutual funds provided by Unified 
Managenrient Corporation. Online access allows you to manage your 
account activities at your convenience, shifting cash reserves in ana 
out of funds to take advantage of attractive money market interest 



Those first telephone words "Hello, 
are you there Watson?" were spoken 
shortly after the turn of this century. 
About the same time Wilbur and Orvllle 
Wright were assembling bicycle parts to 
make a flying machine. That is about 
the stage of Telecomputing as we enter 
year 1988. At least 500 millionaires 
will make their fortunes in telecomuting 
within the next 10 years as progress 
overcomes existing communications 
monopol i es.